Tony Howat
2010-10-14 11:45:36 UTC
Hi list,
I'm doing some horrible work creating overlays for a version of libavfilter
which will only deal with 8 bit RGBA PNGs using ImageMagick-6.6.4-9
I have some magickwand code doing what I need in general, I had no problem
forcing 8 bit output but it insists on optimising to Grey+Alpha PNG. It's
obviously perfectly reasonable for this to happen - but I don't want it to.
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickWriteImage(m_wand,output);
gives PNG image data, 8-bit gray+alpha, non-interlaced
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickSetImageType(m_wand,(ImageType)TrueColorType);
MagickWriteImage(m_wand,output);
gives PNG image data, 8-bit grayscale, non-interlaced
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickSetImageType(m_wand,(ImageType)PaletteType);
MagickWriteImage(m_wand,output);
gives PNG image data, 1-bit grayscale, non-interlaced
I must be missing something here? Is there a nice way to achieve what I'm
after without hacking ImageMagick to bits?
Thanks,
--
Tony
I'm doing some horrible work creating overlays for a version of libavfilter
which will only deal with 8 bit RGBA PNGs using ImageMagick-6.6.4-9
I have some magickwand code doing what I need in general, I had no problem
forcing 8 bit output but it insists on optimising to Grey+Alpha PNG. It's
obviously perfectly reasonable for this to happen - but I don't want it to.
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickWriteImage(m_wand,output);
gives PNG image data, 8-bit gray+alpha, non-interlaced
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickSetImageType(m_wand,(ImageType)TrueColorType);
MagickWriteImage(m_wand,output);
gives PNG image data, 8-bit grayscale, non-interlaced
MagickSetImageFormat(m_wand,"PNG8");
MagickSetImageDepth(m_wand,8);
MagickSetImageType(m_wand,(ImageType)PaletteType);
MagickWriteImage(m_wand,output);
gives PNG image data, 1-bit grayscale, non-interlaced
I must be missing something here? Is there a nice way to achieve what I'm
after without hacking ImageMagick to bits?
Thanks,
--
Tony