Hi Bruce, I was hoping it would be okay if it is only done when initially loading a texture -- which occurs one time in main and then never again. I don't know how to use shaders yet though this is something I am planning to learn eventually.

Sorry I haven't responded in a while, I never could get my code to work. I realized that I'm accessing the components backwards, it's actually stored as ABGR. But it's still behaving very oddly -- it allows me to change certain components of a pixel but changing alpha doesn't seem to do anything even though I'm using an alpha test. Also, no pixels are ever passing the key comparison :/

Will post updates if I ever figure this out.