I haven't looked at the code yet, but your theory sounds plausible to me.
Michel Lerenard <[email protected]> wrote: >Hi, > >There seem to be a bug in the BMP plugin. I've tried to write a single >channel file, using the following call: > > ImageSpec spec(width, height, 1, TypeDesc::UINT8); > if(out->open("Test.bmp", spec)) { > success = out->write_image (TypeDesc::FLOAT, buffer); > out->close(); > } > >and the resulting file seems to be corrupted. It does contains some >data, but the configuration is not correct: >OIIO cannot reopen the image. >GIMP sees a grayscale black image >Photoshop sees a indexed color image, with an completely black color >table. Building a grayscale color table fixes the problem. > >The depth of the image is computed using: > m_dib_header.bpp = m_spec.nchannels << 3; > From this page >(http://msdn.microsoft.com/en-us/library/windows/desktop/dd183386%28v=vs.85%29.aspx) > >I understand that 8bpp files (which is the case if I write only one >channel) must be palettized. "Bitmaps that are 1, 4, or 8 bpp must have > >a color table with a maximum size based on the bpp". > >So my guess is that the plugin should create a grayscale palette if >'nchannel' is equal to 1. > >Any thoughts ? >_______________________________________________ >Oiio-dev mailing list >[email protected] >http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz [email protected] _______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
