[magick-users] How to write an 8-bit PNG even with 16 colours
or less {perlmagick]
Jon Perkin
jperkin at inview.co.uk
Wed Jan 16 03:25:01 PST 2008
Hi Forest.
> > If one of my images has 16 colours or less, PerlMagick 'cleverly'
> > creates a 4-bit (16-colour palette) PNG image, even if I've
specified
> > depth=>8. The 4-bit version does not work on my target platform.
>
> This sounds like a case of a brain-damaged implementation on the
target
> platform, as the PNG > spec is entirely designed to do this sort of
> optimization.
I agree that full PNG support means supporting 4-bit images. However, I
would have thought that if I explicitly specify 8-bit, Image Magick
should produce 8-bit.
My target platform is as I said an embedded platform (a wide variety of
digital TV Set-Top Boxes to be precise), and support for 4-bit images
was initially omitted because code size is extremely tight on the STBs.
As it happens, support for 4-bit has since been added, but I have to
support STBs running older firmware.
I have found a solution: a little command-line utility called PNGOUT
which optimises PNG images but has the option to force an 8-bit palette.
PNGOUT gives me 8-bit output files that are smaller than the 4-bit input
files I created using Image Magick. Thanks to Ken Silverman for PNGOUT.
Cheers, Jon.
More information about the Magick-users
mailing list