Friday, June 1, 2012

Reverting Apple’s “PNG’s”

Daniel Jalkut:

Essentially, the authors of this tool figured out the optimizations that Apple were doing, and reversed the steps to convert them back into standard PNG images. The tool relied upon a compiled-in version of the libpng library.

Recently when I went to use this tool again, I noticed that it did not work reliably. It dumped lots of memory errors and complained of “extra compressed data” in the input files. I then proceeded to spend too many hours trying to fix it, bashing my head against libpng, before my friend Tom Harrington alerted me to an Xcode-bundled tool that can do the job reliably:

iPhoneOS.platform/Developer/usr/bin/pngcrush

Jens Ayton:

…a more accurate description of the issue is that they are not PNGs despite using a PNG header and similar file structure and purloining the .png extension.

The PNG specification has very specific conformance requirements specifically to avoid incompatible variants popping up, and disguising the iPhone-optimized pictures as PNGs is a downright Microsoftishly destructive thing to do.

Comments

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment