Image::Pngslimmer version 0.14 ============================= OVERVIEW Image::Pngslimmer reduces the size of PNGs by removing non-critcal chunks and recompressing, filtering or palettizing images. Other tools, such as pngcrush (http://pmt.sourceforge.net/pngcrush/) will deliver better results for static PNGs and Image::Pnglimmer was orginally designed for dynamically created PNGs. use Image::Pngslimmer Image::Pngslimmer::ispng($blob) - returns 1 if the BLOB conforms to the structure for a PNG and that all CRCs are correct. Image::Pngslimmer::discard_noncritical($blob) - returns a BLOB stripped of any non-critcal chunks. If the passed-in BLOB does not conform to the basic structure of a PNG the returned BLOB is identical to the passed-in BLOB. The passed in BLOB is not altered by this function. Image::Pngslimmer::analyze($blob) - after calling Image::Pngslimmer::ispng($blob) this will iterate through the chunks in the supplied byte stream represented by $blob and return an array of strings describing the chunks in the PNG. It can be useful for testing the "before and after" effect of discard_noncritical($blob). Image::Pngzlimmer::zlibshrink($blob) will attempt to improve compression of the supplied BLOB Image::Pngslimmer::filter($blob) will attempt to apply adaptive filtering for better compression of the supplied BLOB - filtering normally results in better compression once zlibshrink() is reapplied if the original image is truecolour. Image::Pngslimmer::indexcolours($blob) will attempt to losslessly convert the supplied PNG to a colour indexed image - of the image contains more than 256 colours this will not work and the original PNG is returned instead. Image::Pngslimmer::palettize($blob) will colour index (with a PLTE chunk) a 24 bit RGB image. If the original image has 256 colours or less it will do this losslessly but calling indexcolours(), otherwise it will generate a 256 colur palette by using the median cut algorithm. Image::Pngslimmer::reportcolours($blob) will print details of the colour frequencies in the passed in PNG. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES POSIX Compress::Zlib Compress::Raw::Zlib COPYRIGHT AND LICENCE Copyright (C) 2006, 2007 by Adrian McMenamin This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.