|
|
Pngcrush |
![]() |
Pngcrush is an optimizer for PNG (Portable Network Graphics) files. It can be run from a commandline in an MSDOS window, or from a UNIX or LINUX commandline.
Its main purpose is to reduce the size of the PNG IDAT datastream by trying various compression levels an PNG filter methods. It also can be used to remove unwanted ancillary chunks, or to add certain chunks including gAMA, tRNS, iCCP, and textual chunks.
|
Pngcrush, when statically linked to the supplied zlib code, is believed to be immune to the zlib-1.1.3 "double-free" bug, since by default it detects and rejects any "double-free" attempt. It merely generates a "Decompression Error" message and rejects the file. |
Pngcrush is open source and may be used by anyone without fee.
The source code and binary executables for pngcrush are here. Pngcrush uses libpng and zlib, both of which are included in this pngcrush source distribution. They are slightly modified:
If you prefer, you can compile only pngcrush.c from the pngcrush source distribution and run it with the stock libpng and zlib, which can be found at the PNG web site, www.libpng.org/pub/png/. If you do this,
which will result in slightly larger files and slightly faster execution.
Precompiled binaries for Windows (runs in MSDOS window, built under DJGPP) and RISCOS platforms are here.
A fork of pngcrush development exists, by Cosmin Truta, with a slightly different feature set and search space. See http://www.cs.toronto.edu/~cosmin/pngtech/optipng/"
The author of pngcrush is Glenn Randers-Pehrson,
glennrp@users.sf.net
[HOME]