Thanks massin. I see that you use a white background on icon viewer. This is a good idea because it ensures proper display even for glitched icons.
However:
- BMP are saved as 32 bit per pixel color images. They should be 4 bit per pixel (16 color). Color table is missing (due to image data containing actual color info at 32 bpp). Original color 0 is ignored and seems to be replaced by black all the time -> glitched icons will look bad most of the time.
- PNG display ok after saving. But they are compressed (I would prefer them uncompressed), and 32 bpp, so no original color palette either. I guess that transparency is being applied via alpha channel, but I'm not sure.
C# should allow to specify these basic parameters for image export: number of colors, palette if required, transparency via tRNS chunk (for PNG with color palette), and compression

Regarding z.g info, one new (and really quick to implement) feature has top priority. I'm going to PM you about this.