What Is PNG Good For
For image editing, either professional or otherwise, PNG provides a useful
format for storing the intermediate stages of an image. Since PNG's
compression is fully lossless--and since it supports up to 48-bit truecolor
or 16-bit grayscale--saving, restoring, and resaving an image will not
degrade its quality, unlike standard JPEG (even at its highest quality
settings). PNG also supports full transparency information, unlike JPEG
(no transparency at all), GIF (no partial transparency), or even TIFF (full
transparency is part of the specification but is not required for minimal
conformance). And unlike TIFF, which is probably the most popular intermediate
format today, the PNG specification leaves almost no room for implementors
to pick and choose what features they'll support. What allowances are
made, such as optional support for gamma correction, are tightly constrained.
The result is that a PNG image saved in one application is readable and
displayable in any other PNG-supporting program.
For the Web, as of early 1999, there are two image formats with ubiquitous
support: JPEG and GIF. JPEG is very well suited to the task for which it was
designed--namely, the storage, transmission, and display of photorealistic
8-bit grayscale and 24-bit truecolor images with good quality and
excellent compression--and PNG was never intended to compete with JPEG on
its own terms. But PNG, like GIF, is more appropriate than JPEG for images with
few colors or with lots of sharp edges, such as cartoons or bitmapped text.
PNG also provides direct support for gamma correction (loosely speaking, the
cross-platform control of image ``brightness'') and transparency. I'll
discuss these in more detail shortly.
GIF was the original cross-platform image format for the Web, and it is still
a good choice in many respects. But PNG was specifically designed to replace
GIF, and it has three main advantages over the older format: alpha channels
(variable transparency), gamma correction, and two-dimensional interlacing
(a method of displaying images at progressively higher levels of detail).
PNG also compresses better than GIF in almost every case, but the difference
is generally only around 5% to 25%, which is (usually) not a large enough factor to
encourage one to switch on that basis alone. 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. A very PNG-like
extension format called MNG has been developed
to address this limitation; it
is discussed in Chapter 12, "Multiple-Image Network Graphics".