At least I know there's someone out there - Thanks!

Turns out a lot of what I'm tring to do is better addressed with reading the bitmap into memory at the bit level and changing the bits accordingly to create both the picture and mask at same time. Found various examples that could be put together to achive this. I'm impressed that I have the process down to about 2 seconds, but think I can do it all in one step and bring it to milliseconds. I'll post some code when I finally get a handle on the whole thing.