Hi,
I'm also no expert in imaging, but also interesting question for me.
I've read about converting each pixel too and I think its not the elegant way but "stable".
Another way could be extracting/store the RGB values (and Alpha Channel value) and create a new 32-Bit Grayscale image with it.
Do you had a view in some Graphic Librarys?
http://freeimage.sourceforge.net/features.html[
^]
With Best Regards