Reduce colors with Image::Magick

Reduce colors with Image::Magick

am 06.07.2007 13:06:31 von yong321

I use this code to test reducing number of image colors (image from
http://www.libpng.org/pub/png/).

use Image::Magick;
$p = new Image::Magick;
$p->Read("pnglogo-blk-sml1.png");
$p->Quantize(colors=>64);
#$p->Posterize(levels=>1, dither=>True);
$p->Write("pnglogo-blk-sml12.png");

I use IrfanView to check number of colors (should be the same as
Get(colors) of Image::Magick). Number of *unique* colors has indeed
decreased from 256 to 64. But both Original Colors and Current Colors
reported by IrfanView are still "256 (8 BitsPerPixel)". Since I only
have 64 colors, how can I reduce bits per pixel to 6?

The real goal is to reduce file size by sacrificing some colors. Size
of original image pnglogo-blk-sml1.png is 17260. New image pnglogo-
blk-
sml12.png is 11049. Can this be reduced further?

Yong Huang