24 lines
1.5 KiB
Text
24 lines
1.5 KiB
Text
The pngquant utility converts 32-bit RGBA PNGs to 8-bit RGBA-palette PNGs (or
|
|
fewer than 8 bits, if you want), via quantization and ordered or diffusion
|
|
(Floyd-Steinberg) dithering. You can also use it on RGB or even palette images
|
|
(for example, to further color-reduce them to 16 colors). It does:
|
|
- nice reduction of all PNG image types to 256-color (or smaller) palette
|
|
- automatic optimization of tRNS chunks
|
|
- batch conversion of multiple files (e.g., "pngquant 256 *.png")
|
|
- Unix-style command-line filtering (e.g., "... | pngquant 16 | ...")
|
|
It does still lack a few features:
|
|
- no ancillary chunk preservation (except gAMA)
|
|
- no preservation of significant-bits info after rescaling (sBIT chunk)
|
|
- no mapfile support
|
|
- no "native" handling of 16-bit-per-sample files or gray+alpha files
|
|
(all samples are truncated to 8 bits and all images are promoted
|
|
to RGBA before quantization)
|
|
By the way, be sure to check "before" and "after" file sizes, preferably with
|
|
pngcrush (http://pmt.sourceforge.net/pngcrush/); dithered palette images may
|
|
be four times smaller to begin with, but they do not compress nearly as well
|
|
as grayscale and truecolor images. Some images, such as Henri Sivonen's alpha
|
|
button (http://www.pp.htv.fi/hsivone1/css-test/bitmapstyle.html), can be made
|
|
smaller as full 32-bit RGBA images (4076 bytes in this case) than as either
|
|
FS-dithered palette (4550 bytes) or ordered-dither palette (4482 bytes) images.
|
|
WWW: http://www.libpng.org/pub/png/apps/pngquant.html
|
|
Greg Roelofs <newt@pobox.com>
|