PNG (Portable Network Graphics) is the next-generation
graphics file format for the Web. Designed as an open-source
format to replace GIF (which uses a proprietary compression
scheme, for which software makers must pay a licensing fee),
PNG is better, smaller, more extensible, and FREE.
Already supported by major software like Macromedia Fireworks,
Adobe Photoshop, and Microsoft Office 98, as well as Netscape
Navigator and Microsoft Internet Explorer, PNG is the next big
thing in computer graphics. Similar to the GIF and TIFF formats,
but far better, PNG will soon become the preferred file format for
color-critical web images and high-quality graphics interchange. Even
for noncritical images, PNG will likely replace GIF as the standard web
format. PNG supports lossless compression, variable transparency information,
and a range of color depths. PNG also provides direct support for gamma
correction, the cross-platform control of image "brightness," and
transparency.
PNG: The Definitive Guide addresses the needs of graphic
designers who want to get the most out of the format and programmers
who want to add full PNG-support to their own applications. Specifically,
Roelofs covers implementing PNG with the libpng C library. The book
includes explanations of important improvements with PNG, such as
gamma correction and the standard color spaces for precise reproduction
of image colors on a wide range of systems.
Preface
PART 1: Using PNG
Chapter 1. An Introduction to PNG
Overview of Image Properties
What Is PNG Good For?
Case Study of a PNG-Supporting Image Editor
Chapter 2. Applications: WWW Browsers and Servers
WWW Browsers
WWW Servers
Chapter 3. Applications: Image Viewers
Windows 95/98/NT
Windows 3.x
VMS
Unix
OS/2
Macintosh
Java
DOS
BeOS
Atari
Amiga
Acorn RISC OS
Chapter 4. Applications: Image Editors
Photoshop 5
Photoshop 4
ImageReady
Paint Shop Pro
The Gimp
Other Image Editors
Chapter 5. Applications: Image Converters
pngcrush
pnmtopng
gif2png
Tiff2png
pngcheck
Other Conversion Programs
Chapter 6. Applications: VRML Browsers and Other 3D Apps
Cosmo Player
WorldView/MSVRML
blaxxun Contact
Viscape Universal
LibVRML97/Lookat
FreeWRL
VRMLView
Other VRML Browsers
Other 3D Applications
PART 2: The Design of PNG
Chapter 7. History of the Portable Network Graphics Format
Anatomy of an Internet Working Group
Implementation
MNG
Mainstream Support and Present Status
Chapter 8. PNG Basics
Chunks
PNG Signature
A Word on Color Representation
The Simplest PNG
PNG Image Types
Interlacing and Progressive Display
Chapter 9. Compression and Filtering
Filtering
The Deflate Compression Algorithm
Real-World Comparisons
Practical Compression Tips
Chapter 10. Gamma Correction and Precision Color
Transfer Functions and Gamma
The gAMA Chunk
Encoding Gamma
Gamma Gotchas
Chromaticity
Color Management Systems and sRGB
ICC Profiles
Chapter 11. PNG Options and Extensions
Background Color (bKGD)
Timestamp (tIME)
Latin-1 Text Annotations (tEXt, zTXt)
International Text Annotations (iTXt)
Histogram (hIST)
Suggested Palette (sPLT)
Significant Bits (sBIT)
Physical Pixel Dimensions (pHYs)
Physical Scale (sCAL)
Image Offset (oFFs)
Pixel Calibration (pCAL)
Fractal Parameters (fRAc)
GIF Conversion Info (gIFg, gIFx)
GIF Plain Text (gIFt)
Other Chunks
Chapter 12. Multiple-Image Network Graphics
Common Applications of MNG
MNG Structure
The Simplest MNG
An Animated MNG
An Algorithmic MNG
A JPEG Image with Transparency
MNG Applications
The Future?
PART 3: Programming with PNG
Chapter 13. Reading PNG Images
A libpng-Based, PNG-Reading Demo Program
Preliminaries
readpng_init()
readpng_get_bgcolor()
Design Decisions
Gamma and Color Correction
readpng_get_image()
readpng_cleanup()
Compositing and Displaying the Image
Getting the Source Code
Alternative Approaches
Chapter 14. Reading PNG Images Progressively
Preliminaries
readpng2_init()
readpng2_decode_data()
readpng2_info_callback()
readpng2_row_callback()
Compositing and Displaying the Image
readpng2_end_callback()
readpng2_cleanup()
Getting the Source Code
Chapter 15. Writing PNG Images
A libpng-Based, PNG-Writing Demo Program
Gamma Correction
Text Chunks
writepng_version_info()
writepng_init()
Interlaced PNG: writepng_encode_image()
Noninterlaced PNG: writepng_encode_row()
writepng_cleanup()
Getting the Source Code
Chapter 16. Other Libraries and Concluding Remarks
Cross-Platform Libraries
Windows-Specific Libraries
Concluding Remarks
References
Glossary
Index
[ Symbols ],
[ A ],
[ B ],
[ C ],
[ D ],
[ E ],
[ F ],
[ G ],
[ H ],
[ I ],
[ J ],
[ K ],
[ L ],
[ M ],
[ N ],
[ O ],
[ P ],
[ Q ],
[ R ],
[ S ],
[ T ],
[ U ],
[ V ],
[ W ],
[ X ],
[ Y ],
[ Z ]