PNG (Portable Network
Introduction and Comparison
The Portable Network Graphics (PNG) format was designed to replace the older and simpler GIF format and, to some extent, the much more complex TIFF format.
For the Web, PNG really has three main advantages over GIF: alpha channels (variable transparency), gamma correction (cross-platform control of image brightness), and two-dimensional interlacing (a method of progressive display). PNG also compresses better than GIF in almost every case, but the difference is generally only around 5% to 25%. One GIF feature that PNG does not try to reproduce is multiple-image support, especially animations. PNG was and is intended to be a single-image format only.
For image editing, either professional or otherwise, PNG provides a useful format for the storage of intermediate stages of editing. Since PNG's compression is fully
lossless and since it supports up to 48-bit
true color or 16-bit grayscale, saving, restoring and re-saving an image will not degrade its quality, unlike standard JPEG (even at its highest quality settings).
And unlike TIFF, the PNG Specification leaves no room for
implementers to pick and choose what features they'll support. This results in the fact that a PNG image saved in one application is readable in any other PNG-supported application.
However, for finished true color images, especially photographic
ones, JPEG is almost always a better choice. Although JPEG's lossy compression can introduce visible artifacts, these can be minimized, and the savings in file size even at high quality levels is much better than is generally possible with a lossless format like PNG. And for black-and-white images, particularly of text or drawings, TIFF's Group 4 fax compression or the JBIG format are often far better than 1-bit grayscale PNG.
PNG's compression is among the best that can be had without losing image information and without paying patent fees. However, not all implementations take full advantage of the available power. Even those that do can be thwarted by unwise choices on the part of the user.
PNG supports three main image types: true color, grayscale and palette-based
("8-bit''). JPEG only supports the first two while GIF only supports the third (although GIF can fake grayscale by using a gray palette). The impact on compression comes from the ability to mix up image types in PNG. Specifically, forcing an application to save an 8-bit palette image as a 24-bit image is not going to result in a small file.
The low-level compression engine itself can be tweaked to compress either better or faster. Often
"best compression'' is the preferred setting, but an
implementer may choose to use an intermediate level of compression in order to boost the interactive performance for the user. Usually the difference in file size is small, but there are cases where such a choice can make a big difference.