In Chapter 14 and others, you’ve read a lot about ImageMagick and some of the tools in the ecosystem. It’s worth taking some time to investigate other utilities that, if perhaps not quite ready for a large-scale image workflow due to their interface (GUI) or performance (slow), could still prove useful. Since tastes vary, it’s not unusual for two tools to provide similar functionality but with slightly different results, so try a few to see which one suits you best!
PNG is one of the formats that gets a lot of optimization attention. There are a few reasons for this. First, since it’s a lossless format, there aren’t a lot of dials you can tweak to sacrifice a bit of quality at the expense of fewer bytes. Second, it’s a relatively straightforward format in terms of implementation, and has a number of parts of its binary format that aren’t necessary for rendering the image. Lastly, PNG uses DEFLATE compression for its pixel data, and there have been a couple of attempts to improve it over the years.
One of the more well-known PNG optimizers, pngcrush attempts to reduce the size of PNGs by trying a number of different filtering and compression methods, as well as removing unneeded metadata.
Similar to pngcrush in terms of methodology, OptiPNG has some performance benefits over its predecessor in that the trials used during filtering and compressing are performed in-memory.
A “lossy” PNG optimizer, ...