shopping cart
Call us:  800-878-7323 HELP
McAfee SECURE helps keep you safe from identity theft, credit card fraud, spyware, spam, viruses and online scams.

Related Aisles


Interviews | June 19, 2009

All posts by Dave Jim Lynch Makes Landscape Art... Out of Text

If Carl Hiaasen set one of his novels on a residential stretch of boundary line between British Columbia and Washington, or if Richard Russo's characters had relatives in the Pacific Northwest, the result might be something like Jim Lynch's Border Songs. Continue »


  1. $18.16 Sale Hardcover add to wish list

    Border Songs

    Jim Lynch

Ships free on qualified orders.
$15.00
List price: 34.95
You save: $19.95
TRADE PAPER, USED
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Technical Graphics- Programming


PNG: The Definitive Guide

by Greg Roelofs

ISBN13: 9781565925427
ISBN10: 1565925424
Condition: Standard
All Product Details
See More Like This

Only 1 left in stock at $15.00!
Out of Print

Synopses & Reviews

Publisher Comments:

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.

PNG: The Definitive Guide is the first book devoted exclusively to teaching and documenting the important new format, PNG. It is an indispensable compendium for Web content developers and is chock full of examples, sample code, and practical hands-on advice.

PNG: The Definitive Guide

Table of Contents

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

PNG: The Definitive Guide

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 ]

#LINK[ Top ]>#
Numbers
1stGuide image viewer, 59
3D applications, 116-119
   (see also VRML browsers)
3D Studio MAX application, 116

#LINK[ Top ]>#
absolute colorimetric intent, 175
accessing structs, 223-224, 246, 268
ACDSee16 image viewer, 50
ACDSee32 image viewer, 46
Acorn RISC OS, 37, 61
   Browse browser, 35
Adam7 method, 144
Adler, Mark, 125, 128, 151
Adobe Illustrator, 83
Adobe ImageReady editor, 71-75
Adobe Photoshop 4 image editor, 69-71
Adobe Photoshop 5 image editor, 63-68
AI Picture Explorer, 46
AI Picture Utility, 46
algorithmic images, 200, 211
aLIG (alignment) chunk, 198
allocating memory manually, 223
alpha channels, 6, 9-11, 137, 282
   adding with image editors
      (see also image editors)
   grayscale images, 141
   JNG image format, 204
   JPEG image format, 212-213
   palette-based images, 139
   Photoshop 4, 69
   Photoshop 5, 64
   RGB (truecolor) images, 143
   (see also transparency)
alpha_composite() macro, 251
Alter Image 32 image viewer, 46
Amaya browser, 36
Amiga platform
   browsers, 36
   image viewers, 59
ancillary chunks, 133, 139
animation, 129, 282
   with MNG, 200, 209-211
annotated text (see text annotations)
anti-aliasing, 9
Apache servers, 42-45
Application Extension (GIF), 196
Archimedes image viewers, 61
Arena browser, 35
ArtEffect image editor, 82
artistic (rendering) intent, 174
ASCII-mode transfer of PNG files, 134
aspect ratio, 189
associated alpha, 137
Atari image viewers, 59
Author keyword (text annotations), 182
   wpng demo program, 258
Average filtering, 148

#LINK[ Top ]>#
BACK (background) chunk, 207
background color, 179, 207
   obtaining with rpng reader, 226-228
Becasso image editor, 82
BeOS platform
   image viewers, 58
   web browsers, 37
Berry, Bob, 124
big-endian format, 100, 128, 195
BitJazz utility, 14
bits, 4
bKGD (background color) chunk, 179, 226, 247
blaxxun's Contact browser, 112-113
Boutell, Tom, 124
Bowler, John, 237
Browse (Acorn), 35
browsers, 29-40, 283
bzip2 utility, 14

#LINK[ Top ]>#
calibration (xSCL, ySCL) chunks, 198
callback functions, 243
Cameleo image viewer, 52
Canvas image editor, 82
Caption keyword (text annotations), 183
CC3D, CCpro browsers, 112
channels, 5
cheap transparency, 141, 143, 161
cHRM (chromaticity) chunk, 173-174
   sRGB images, 176
chromaticity (see color correction)
chunks, 132-134, 137-138
   MNG image format, 201-208
CIE (International Commission on Illumination), 171
client-side PNG support, 38-40
CLIP chunk, 206
clipboard (Windows), 236
CLON chunk, 205, 210
CMS (color management system), 171-178
CMYK color space, 136
color, background, 179, 207
   obtaining with rpng reader, 226-228
color correction, 11-12, 282
   chromaticity (cHRM chunk), 171-174
      sRGB images, 176
   ImageReady editor, 75
   Photoshop 4, 70
   Photoshop 5, 65
   rpng demo program, 228-234
   writing PNGs, 254
color gamut, 172
color management, 11, 171-178
   ICC profiles, 177-178
   sRGB color space, 174-177
color representation, 135-137
colorimetric intent, 175-176
colormapped (palette-based) images, 5, 138-140
   filtering, 150
   Photoshop 5, 68
   VRML and, 109
   (see also image editors)
ColorWorks:WEB image editor, 82
Colosseum Builders' Image Library, 275
ColourEdit image converter, 104
Comment keyword (text annotations), 183
Community Place browser, 115
complexity profile (MNG), 202
compositing images
   rpng demo program, 235
   rpng2 demo program, 249
compress utility (Unix), 15
compression, 7, 14-18, 151-162
   approximating with pngcheck, 101
   decoupled compression engine, 283
   deflate algorithm, 15, 125, 151-153
   filters, 16
   image editor capabilities
      Gimp editor, 80-81
      ImageReady editor, 75
      Paint Shop Pro, 77
      Photoshop 5, 67
   judging effectiveness of, 153-158
   pngcrush image converter, 89, 154
   TIFF image format, 146
   tips for, 159-162
   troubleshooting, 16-18
   wpng demo program, 263
CompuPic (see CPIC image viewer)
CompuShow image viewer, 57
Contact browser, 112-113
content negotiation, 42-45
converters (see image converters)
copyright notice (text annotations), 183
   wpng demo program, 258
CorelDRAW image editor, 82
CorelXARA image editor, 82
corruption, checking for, 100-104
Cosmo Player, 110-111
Cosmo Worlds editor, 116
Costello, Adam, 157, 250
CPIC image viewer, 46, 50, 55
CRCs (cyclic redundancy checks), 132, 284
Creation Time keyword (text annotations), 182
Creator image converter, 105
critical chunks, 133, 139
cross-platform PNG libraries, 274-280
CRT exponents (gamma), 168, 170
CryptaPix image viewer, 46
custom error handlers, 224, 236, 241, 262
custom memory allocators, 236
cyclic redundancy checks (CRCs), 132, 284

#LINK[ Top ]>#
datatypes, Amiga, 59
DBYK chunk, 205
DeBabelizer image viewer, 55
DeBabelizer Pro, 46
decoding gamma, 164-165
   ICC profiles, 178
   pHYs chunk, 190
decoupled compression engine, 283
DEFI (define image) chunk, 209
deflate compression algorithm, 15, 125, 151-153
   judging effectiveness of, 153-158
   patents on, 153
delta (difference) images, 204
depth, image, 4-5
   compression and, 159-160
Description keyword (text annotations), 182
   wpng demo program, 258
dicom2 image converter, 105
digital televisions, 131, 164
DISC chunk, 206
Disclaimer keyword (text annotations), 183
Display image viewer, 57
dithering, 6, 64, 159
DOS-based image viewers, 57
Drag and View (image viewer), 46, 50
DROP chunk, 205
DTPicView image viewer, 59

#LINK[ Top ]>#
edges and Paeth filtering, 149
editors (see image editors)
Electric Eyes image viewer, 52
Elliott, Scott, 125
E-mail keyword (text annotations), 183
   wpng demo program, 258
embedded text annotation
   ImageReady editor, 75
   Paint Shop Pro editor, 77
   Photoshop 5 editor, 67
embedded text annotations
   GIMP editor, 78
encoding gamma, 168-169
   ICC profiles, 178
ENDL chunk, 206
end-of-image (IEND) chunk, 138, 204
Enhance image editor, 82
error handlers, custom, 224, 236, 241, 262
extensibility of PNG format, 284
Extreme3D utility, 116

#LINK[ Top ]>#
fALS (false-color) chunk, 198
file compression (see compression)
file corruption, checking for, 100-104
file signature (PNG images), 134-135
file size (see compression)
filtering, 16, 147-151
   choosing filters, 149
   Paeth predictor, 148
   wpng demo program, 265
fING (fingerprint) chunk, 198
Fireworks (Macromedia), 20-28
FmView image viewer, 47
FORBID_LATIN1_CTRL macro, 259
fRAc (fractal parameters) chunk, 194
FRAM (framing) chunk, 206
frame-count value (MNG), 202
frame height/width (MNG), 202
free reference code, 283
Freehand Graphics Studio, 82
FreeWRL browser, 114
Fromme, Oliver, 125

#LINK[ Top ]>#
Gailly, Jean-loup, 128, 151
Galleria image viewer, 55
gAMA chunk, 166-168, 247
gAMA chunks
   sRGB images, 176
gamma correction, 5, 11-12, 166-171, 282
   encoding gamma, 168-169
   gAMA chunk, 166-168, 247
      sRGB images, 176
   ICC profiles, 177-178
   image editor capabilities
      Gimp editor, 81
      ImageReady, 75
      Paint Shop Pro, 77
      Photoshop, 65, 70
   pngcrush image converter, 90
   problems with, 170-171
   rpng demo program, 228-234
   wpng demo program, 256-257
   writing PNGs, 253
GEM-View image viewer, 59
gforge application, 117
Ghostscript image converter, 105
GIF Construction Set, 47, 50
GIF image format, 7-8
   compression
      PNG images vs., 155, 159
   compression, vs. PNG images, 154, 157
   conversion information chunks, 194
   converting to PNG
      gif2png, 97-99, 154
      pnmtopng utility, 93
   grayscale images, 140
   interlacing, 12, 145
   palette images, 138
   plain text chunk, 196
   transparency, 140
gif2png image converter, 97-99, 154
GIFConverter image viewer, 55
gIFg, gIFx (GIF conversion info) chunks, 194
gIFt (GIF plain text) chunk, 196
giftopnm utility, 93
Gimp image editor, 78-81
gj2png image converter, 105
GNU Image Manipulation Program (Gimp), 78-81
GrafCat image viewer, 47, 50
Graphic Control Extension (GIF), 195, 197
Graphic Viewer image viewer, 47
Graphic Workshop image viewer, 47, 50, 57
GraphicConverter image viewer, 56
GraphX Viewer, 50
GRAV image viewer, 53
grayscale iamges
   ImageReady editor, 71
grayscale images, 5, 140-142, 160
   filtering, 150
gtkLookat browser, 113
gzip utility (Unix), 15

#LINK[ Top ]>#
Haeberli, Paul, 125
halo effect, 9
header (IHDR) chunk, 137
HEIGHT attribute (<OBJECT> tags), 39
HiJaak PRO image viewer, 47
hIST (histogram) chunk, 186
   sPLT chunk and, 188
histograms, 186
history of PNG format, 123-131
HoTMetaL PRO Graphics Studio, 83
Huffman encoding, 152

#LINK[ Top ]>#
ICC profiles, 12, 162, 176-178
iCCP chunk, 177-178
Icons Control 95 image converter, 105
IDAT chunk, 204
IDAT (image data) chunk, 137
IE (Internet Explorer), 130, 278
IEC (International Electrotechnical Commission), 12, 131
IEND (image end) chunk, 138, 204
IETF (Internet Engineering Task Force), 129
IFont F/X application, 117
IHDR (image header) chunk, 226, 246, 265
IIS (Internet Information Server), 41-42
Illustrator (Adobe), 83
Image Alchemy image viewer, 53, 56-57
Image Arithmetic image converter, 105
Image Composer, 83
image compression (see compression)
image converters, 87-107
image data (IDAT) chunk, 137
image editors, 62-86
Image Engineer image viewer, 60
Image Library (Colosseum Builders), 275
image offset (oFFs) chunk, 191
image properties, 4-8
image viewers (by platform), 45-61
Image32 image viewer, 56
image-defining chunks (MNG), 203-206
image-displaying chunks (MNG), 206-208
ImageFX image editor, 83
ImageGear library, 277
image/gif media type, 39
image/jpeg media type, 39
ImageLib library, 280
ImageMagick toolkit, 52-53, 214, 274
ImageMan ActiveX Suite, 280
ImageMan DLL Suite, 280
Imagenation image viewer, 47, 50
image/png media type, 39-40, 129
ImageReady editor, 71-75
ImageVision Library, 276
image/x-png media type, 40
Img library, 279
<IMG> tags, 19
ImgDLL library, 280
ImgViewer image viewer, 47
Imlib library, 276
implementation of PNG format, 128-129
indexed-color images (see palette-based images)
interlacing, 12-14, 16, 143-147
   compression and, 159
   filtering and, 149
   MNG image format, 213
   wpng demo program, 271
internal consistency checks, 284
International Commission on Illumination (CIE), 171
International Electrotechnical Commission (IEC), 12, 131
international text annotations, 181, 184
Internet Explorer (Microsoft), 32-34, 130, 278
Internet Information Server (IIS), 41-42
IrfanView32 image viewer, 48
ISO (International Organization for Standardization), 12, 131, 177
iTXt (international text) chunk, 181, 184

#LINK[ Top ]>#
Java Advanced Imaging API, 277
Java Image Content Handlers library, 277
Java PNG library, 278
Java Vector Graphics library, 278
Java-based image viewers, 56
JavaScript
   Pnglets, 278
JDAT chunks, 204
JHDR chunk, 204
JIMI library, 278
jmp_buf struct, 223, 241, 263
jmpbuf member, 223, 241, 263
JNG image format, 203
JPEG image format, 7-8
   compression, 15, 17
      PNG images vs., 155-157, 159
   converting to PNG (pnmtopng), 94
   grayscale, 140
   MNG format for, 201
   progressive rendering, 13, 145
   RGB (truecolor) images, 142
   transparency, 142, 212-213
JPEG-LS image format, 14, 157
JVG library, 278

#LINK[ Top ]>#
KeyView Pro image viewer, 48, 51

#LINK[ Top ]>#
Lane, Tom, 125, 129
Latin-1 text annotation (see text annotations)
LatinByrd image converter, 105
LCDs and gamma, 170
LEADTOOLS library, 280
legal disclaimer (text annotations), 183
Lehmann, Alexander, 129
Lempel, Abraham, 123
Lempel-Ziv-Welch (LZW) compression, 15
libjpeg library, 204
libpng library, 219
   rpng demo program, 219-237
   rpng2 demo program, 238-252
   wpng demo program, 255-273
libraries for PNG images
   cross-platform libraries, 274-280
   libpng, 219
      rpng demo program, 219-237
      rpng2 demo program, 238-252
      wpng demo program, 255-273
   Windows-specific libraries, 280-281
libtiff library, 100
LibVRML97/Lookat suite, 113
LightWave 3D utility, 117
Liquid Reality browser, 115
little-endian format, 100, 128, 195
Live3D browser, 115
LiView image viewer, 59
longjmp(), 223, 241, 263
Lookat browser, 113
LOOP chunk, 206
lossy vs. lossless compression, 7, 14
   MNG image format, 201
   warning users about, 162
LZ77 algorithm, 123, 151
   LZSS algorithm, 151
LZ78 algorithm, 123
LZH compression, 152
LZW algorithm, 15

#LINK[ Top ]>#
Macintosh platform
   gamma correction, 168
   image viewers, 55
   Internet Explorer on, 34
   web browsers, 37
Macromedia Fireworks, 20-28
mainprog_info struct, 240, 260
Makaha image viewer, 48
mask channels (see alpha channels)
Mathematica application, 117
MathGL3d viewer, 117
MediaStudio Pro image editor, 83
memory allocation, manual, 223
memory allocators, custom, 236
MEND chunk, 202
MHDR (MNG header) chunk, 202
MHEG-5 UK Profile, 131
Microsoft, 229
   Image Composer, 83
   Internet Explorer, 130, 278
   Office 2000, 237
   Office 97, 130
   Visual C++, 275
Microsoft IIS (Internet Information Server), 41-42
Microsoft Internet Explorer, 32-34
minimum sum of absolute differences, 150
Mitchell, Kevin, 129
MNG image format, 129-130, 199-216
   algorithmic images, 200, 211
   animated moviews with, 200, 209-211
   applications for, 214
   common applications, 199-201
   JPEGs with transparency, 212-213
   structure, 201-208
MNGeye decoder, 214
mod_negotiation module (Apache), 42
modification time, 180
MOVE chunk, 207, 210
Mozilla, 30
Mozilla (Netscape Navigator open sources), 131
MSIE (see Internet Explorer)
MSVRML browser, 111-112
multibyte UTF-8 encodings, 186
Multimedia/Hypermedia Experts Group (MHEG), 131
multiple images (see MNG image format)
Multiview image viewer, 60
MultiViews method (Apache), 44

#LINK[ Top ]>#
Navigator (Netscape), 29-32
Nendo application, 118
NetPBM format, 92
Netscape Navigator, 18, 29-32, 124, 130-131
NetStudio image editor, 83
NetSurfer browser, 38
NeXTStep browsers, 38
NView image viewer, 58

#LINK[ Top ]>#
object manipulation, 205
<OBJECT> tags, 19, 38-40
   Microsoft Internet Explorer support, 33
   Netscape Navigator support, 30
Office 2000 (Microsoft), 237
Office 97 (Microsoft), 130
oFFs (image offset) chunk, 191
OmniWeb browser, 38
opacity, 6
   (see also alpha channels; transparency)
Open Source-style development, 283
OpenStep browsers, 38
OpenVMS image viewers, 52
Opera, 34-35
ordered dithering, 64
OS/2 platform
   browsers, 38
   image viewers, 55

#LINK[ Top ]>#
Paeth, Alan W., 148
Paeth predictor, 148
Paint Shop Pro application, 215
Paint Shop Pro editor, 76-78
PaintLib library, 275
palette-based (colormapped) images, 5, 138-140
   filtering, 150
   Photoshop 5, 68
   VRML and, 109
   (see also image editors)
partial-frame updates, 200
PAST chunk, 205
patents
   BitJazz utility, 14
   deflate algorithm, 131, 153
   JPEG-LS image format, 14
   LZW algorithm, 98, 124
   PNG compression, 14
PBF image format, 125
PBM format, 92
pCAL (pixel calibration) chunk, 192
perpetual rendering intent, 176
Personal Paint image editor, 83
pf2wrl utility, 118
PhotoDraw 2000 image editor, 83
PhotoImpact image editor, 84
PhotoLine image editor, 84
Photon Picture Viewer, 53
Photonyx image editor, 84
Photonyx Viewer, 48
Photoshop 4 image editor, 69-71
Photoshop 5 image editor, 63-68
pHYs (physical pixel dimensions) chunk, 189
physical pixel dimensions chunk, 189
physical-scale (sCAL) chunk, 190
PicaView16 image viewer, 51
PicaView32 image viewer, 48
PicCon image converter, 106
Picnic image editor, 84
Picture Publisher image editor, 84
PictView image viewer, 58
PicViewer image viewer, 48
PingPong image viewer, 53
PiXCL Tools library, 281
pixel calibration (pCAL) chunk, 192
pixel depth, 4-5
   compression and, 159-160
pixel dimensions, 189
PixelGraphicLibrary demo viewer, 48
PixelGraphicLibrary library, 281
pixels, 4
PixFolio image viewer, 48, 51
Plain Text Extension (GIF), 196
platform independence and gamma, 163, 168
play-time value (MNG), 202
PLTE (palette) chunk, 138, 142-143, 186
   sPLT chunk and, 188
PMJPEG image viewer, 55
PMView image viewer, 55
PNG-Box image converter, 106
png_check_sig(), 222, 240
png_color_16 struct, 227, 267
PNG_COLOR_MASK_ macros, 265
png_create_read_struct(), 223, 241
png_create_write_struct(), 223, 262
png_destroy_read_struct(), 225
png_destroy_write_struct(), 268, 273
PNG Development Group, 125-128
png_get_bKGD( ), 226, 247
png_get_gAMA( ), 247
png_get_IHDR(), 226, 246
png_get_valid(), 226
PNG image format
   basics of, 132-147, 281-285
   client-side support, 29-40
   file signature, 134-135
   history of, 123-131
   image types, 138-143
   Macromedia Fireworks support, 20-28
   server-side support, 40-45
   uses for, 8-20
   writing images, 253-273
png_init_io(), 225, 263
PNG library (libpng)
   rpng demo program, 219-237
   rpng2 demo program, 238-252
   wpng demo program, 255-273
png_process_data(), 245
png_progressive_combine_row(), 249
png_read_info(), 225
png_read_update_info(), 248
PNG reader demo (see rpng demo program)
png_set_compression_level(), 265
png_set_compression_strategy(), 265
png_set_filter(), 265
png_set_gamma, 247
png_set_IHDR(), 265
png_set_inerlace_handling(), 247
png_set_packing(), 270
png_set_progressive_read_fn(), 241
png_set_text(), 268
png_set_tRNS(), 265
png_sig_cmp(), 222
png_text structs, 268
png_write_image(), 271
png_write_info(), 268
!Png2Spr image converter, 106
pngcheck utility, 100-104, 214
pngcrush image converter, 88-91, 154
png.h header file, 220, 239, 261
PNGHandler, 279
PNGImageViewer image viewer, 57
Pnglets, 278
PngThing image viewer, 57
pnmtopng image converter, 91-97, 255
PolyView image viewer, 48
portable anymaps (PNM), 93
portable bitmaps (PBM), 93
portable graymaps (PGM), 93
portable pixmaps (PPM), 93
POV-Ray application, 118
PPLT chunk, 205
ppmquant utility, 96
PPShow image viewer, 60
premultiplied alpha, 137
primary chromaticities, 173
printers and gamma correction, 170
private chunks, 133
progressive reader (rpng2 demo program), 238-252
progressive rendering, 12-14, 143-147
   MNG image format, 213
PS4, PS5 (see Photoshop 4; Photoshop 5)
pseudocolor (see colormapped images)
PSP (see Paint Shop Pro)
ptot image converter, 106
public chunks, 133
Python Imaging Library, 279

#LINK[ Top ]>#
QHTM library, 275
QNX Software Systems, 53
QPV image viewer, 58
quantization, 6, 159, 254
Quick View Plus, 49, 51, 54
QuickPic image viewer, 59
QuickShow Lite, 51
QuickTime library, 276
QuickTime PictureViewer, 48, 56

#LINK[ Top ]>#
Randers-Pehrson, Glenn, 54, 88, 126, 129-131, 199, 214
raster images, 4
Rational Reducer application, 118
reader for PNG (see rpng demo program)
reading PNG images
   progressive readers (rpng2 demo program), 238-252
   rpng demo program, 219-237
readpng_cleanup(), 234
readpng_get_color(), 226-228
readpng_get_image(), 228-234
readpng_init(), 221-226
readpng_version_info(), 221
readpng2_check_sig(), 240
readpng2_cleanup(), 252
readpng2_decode_data(), 243-245
readpng2_end_callback(), 243, 251
readpng2_error_handler(), 241
readpng2_info_callback(), 243, 245-248
readpng2_init(), 239-243
readpng2_row_callback(), 243, 248-249
readpng.c file, 219-221
relative colorimetric intent, 175
rendering (artistic) intent, 174
resolution, 4
RGB color space, 136
   device dependence, 171
RGB (truecolor) images, 5, 142-143
   filtering, 150
   PLTE chunk with, 187
   quantizing and dithering, 159, 254
RGBA images, 143
   quantizing and dithering, 159, 254
Riptide PhotoStudio image viewer, 49
RLE (run-length encoding), 147
rpng demo program, 219-237
   alternate approaches to, 236-237
   compositing and displaying images, 235
   gamma and color correction, 228-234
   png.h header file, 220
   readpng_cleanup(), 234
   readpng_get_color(), 226-228
   readpng_init(), 221-226
   readpng.c file, 219-221
   rpng-win.c file, 220
   rpng-x.c file, 220
   source code, 235
rpng2 demo program, 238-252
   compositing and displaying images, 249
   png.h header file, 239
   readpng2_check_sig(), 240
   readpng2_cleanup(), 252
   readpng2_decode_data(), 243-245
   readpng2_end_callback(), 243, 251
   readpng2_error_handler(), 241
   readpng2_info_callback(), 243, 245-248
   readpng2_init(), 239-243
   readpng2_row_callback(), 243, 248-249
   readpng2.c file, 238
   source code, 252
run-length encoding (RLE), 147

#LINK[ Top ]>#
sample depth, 4-5
   compression and, 159-160
samples, 5
Satori image editor, 84
saturation-preserving rendering intent, 176
SAVE chunk, 208
sBIT (significant bits) chunk, 188, 255
sCAL (physical scale) chunk, 190
Schalnat, Guy Eric, 128
screendoor transparency, 111
SEA image viewer, 58
SEEK chunk, 208
servers, 40-45
setjmp(), 223, 241, 263
Shake image editor, 84
Shekter, Jonathan, 125
SHOW chunk, 207
Showcase image viewer, 49
signature, 134-135
significant-bits chunk, 188, 255
Sixlegs PNG library, 277
sleep(), 244
slide shows, 199
sliding window concept, 151
SmartSaver image converter, 106
Software keyword (text annotations), 183
Source keyword (text annotations), 183
specifications for PNG images, 284
spectral selection, 145
sPLT (suggested palette) chunk, 142, 187
Spr2Png image converter, 106
sRGB chunk, 174, 176, 254
sRGB color space, 12, 65, 174-177
standardization of PNG format, 130, 177, 184, 284
stippled alpha, 111
Storer, Hames, 151
strips (TIFF interlacing), 146
structs, accessing, 223-224, 246, 268
suggested palette (sPLT) chunk, 142, 187
SuperView Library, 280
SViewII image viewer, 60
system gamma, 168
Szymanski, Thomas, 151

#LINK[ Top ]>#
teletext, 131
text annotations
   ImageReady editor, 75
   international (iTXt chunk), 181, 184
   Paint Shop Pro editor, 77
   Photoshop 5 editor, 67
   tEXt and zTXt chunks, 181
      PNG-writing program, 257-261
tEXt chunk, 181
   PNG-writing program, 257-261
text-mode transfer of PNG files, 134
texture mapping, 109
ThumbNailer image converter, 107
ThumbsPlus image viewer, 49, 51, 56
ticks-per-second value (MNG), 202
TIFF image format, 7, 18
   compression, 159
   converting to PNG
      tiff2png, 99-100
   converting to PNG (pnmtopng), 94
   grayscale images, 140
   interlacing, 14, 146
   palette images, 139
   palette size, 15
   RGBA images, 143
   transparency, 140-141
Tiff2png image converter, 99-100
tiles extension (TIFF), 146
tIME chunk, 180
timestamp, 180
tips
   compression, 159-162
   for programmers, 281-285
Title keyword (text annotations), 182
   wpng demo program, 258
Torch browser, 115
ToyViewer image viewer, 54
Translator image viewer, 61
transparency, 6, 9-11, 137, 282
   adding with image editors
      Gimp editor, 80
      ImageReady, 71
      Photoshop 5, 64, 68
   choosing image format, 18
   grayscale images, 141
   image converter capabilities
      gif2png utility, 98
      pnmtopng utility, 95
   JPEG image format, 212-213
   opacity, 6
   palette-based images, 139
   RGB (truecolor) images, 143
   tRNS chunk, 139, 143, 161, 265
   VRML objects, 109
      CosmoPlayer, 111
      WorldView plug-in, 112
   (see also alpha channels; alpha channels)
tRNS (transparency) chunk, 139, 143, 161, 265
troubleshooting
   compression, 16-18
   gamma correction, 170-171
truecolor (RGB) images, 5, 142-143
   filtering, 150
   PLTE chunk with, 187
   quantizing and dithering, 159, 254
   RGB color space, 136
trueSpace application, 118
TwistedPixel library, 281

#LINK[ Top ]>#
uch, ulg, ush datatypes, 222
UCS-4 character set, 186
UHDR (image header) chunk, 137
Ultraconv image converter, 107
unassociated alpha, 137
Unicode character set, 186
Unix platform
   image viewers, 52
   PNG reader demo program, 220
Up filtering, 148
URL keyword (text annotations), 183
   wpng demo program, 258
user-defined I/O routines, 236
usleep(), 244
UTF-8 text annotations, 181, 184

#LINK[ Top ]>#
van Schaik, Willem, 129
variants files (Apache), 42
vector-based images, 4
VermelGen editor, 119
Victor Image Processing Library, 281
VideoStudio image editor, 85
VidFun image viewer, 49, 51
ViewDT image viewer, 60
viewer for PNG images, 219-221
Viewer Pro! image viewer, 51
viewers (see image viewers)
Viewpng image viewer, 54
viewpng utility, 214
ViewTEK image viewer, 60
Visage image viewer, 60
Viscape Universal browser, 113
Visio image editor, 85
VMS image viewers, 52
voxel data, 200
VRML browsers, 108-116
VRML (Virtual Reality Modeling Language), 108, 155
VRMLView browser, 114
VRwave browser, 115

#LINK[ Top ]>#
W3C (World Wide Web Consortium), 129
Warning keyword (text annotations), 183
web browsers, 29-40, 283
web servers, 40-45
WebGraphics Optimizer, 49
WebImage image editor, 85
WebPainter image editor, 85
weighted sum of absolute differences, 150
Welch, Terry, 123
white point, 173
WIDTH attribute (<OBJECT> tags), 39
Windows platforms
   image viewers, 46
   PNG libraries, 280-281
   PNG reader demo program, 220
WinImages image editor, 85
World Wide Web Consortium (W3C), 129
WorldView/MSVRL suite, 111-112
wpng_cleanup(), 273
wpng demo program, 255-273
   gamma correction, 256-257
   png.h header file, 261
   source code, 273
wpng_isvalid_latin1(), 259
writepng_cleanup(), 273
writepng_encode_image(), 271
writepng_encode_row(), 272
writepng_error_handler(), 263
writepng_init(), 261-270
writepng_version_info(), 261
writepng.c file, 255
writing PNG images, 253-273
   wpng demo program, 255-273
WWW browsers, 29-40, 283
WWW servers, 40-45

#LINK[ Top ]>#
Xara Webster image editor, 85
Xara3D application, 119
xart image editor, 85
xli image viewer, 54
xmLookat browser, 113
XPaint image editor, 85
xRes image editor, 86
xSCL calibration chunk, 198
XV image viewer, 52, 54
XVidCap application, 215

#LINK[ Top ]>#
Y2K, Y10K, Y65K, Y2038 compliancy, 180
YCbCr color space, 136
ySCL calibration chunk, 198
YUV, YIQ, YCbCr color spaces, 136

#LINK[ Top ]>#
Zeus server, 42
Zgv image viewer, 55
Ziv, Jacob, 123
zlib format, 152
   specification, 181
zlib.h header file, 220
zTXt chunk, 181
   PNG-writing program, 257-261






END

Synopsis:

PNG (Portable Network Graphics) is the next-generation graphics file format for the Web. Designed as an open-source format to replace the proprietary GIF format, PNG is better, smaller, more extensible, and free. Already supported by major software like Macromedia Fireworks, Adobe Photoshop, and Microsoft Office, as well as Netscape Navigator and Microsoft Internet Explorer, PNG is an elegant and feature-rich image format that has finally achieved broad industry support.

PNG: The Definitive Guide addresses the needs of both 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.

In the Using PNG section, Roelofs covers Web browsers and servers, image viewers, image editors, image converters, and 3D applications, with particular attention to the level of PNG support in each. In the Design of PNG section, he includes detailed information on compression and filtering, gamma correction and precision color, PNG options and extensions. In the Programming PNG section, he steps through three sample programs that implement PNG with the libpng C library.

PNG: The Definitive Guide is the first book devoted exclusively to teaching and documenting this important new image format. It is an indispensable compendium for Web content developers and programmers and is chock full of examples, sample code, and practical hands-on advice.

Description:

Includes bibliographical references (p. 287-293) and index.

Product Details

ISBN:
9781565925427
Subtitle:
(the definitive guide )
Koman, Richard:
Roelofs, Greg
Publisher:
O'Reilly & Associates Inc.
Location:
Sebastopol, CA :
Subject:
Internet - General
Subject:
Computer Graphics - General
Subject:
Computer graphics
Subject:
Computer networks
Subject:
Computers
Subject:
Desktop Publishing - General
Subject:
Image processing
Subject:
Desktop publishing
Subject:
Computer programming
Subject:
File organization
Subject:
Data compression
Subject:
Computer Bks - Communications; Networking
Subject:
Books; Computers & Internet; Web Development; HTML, Graphics, & Design; Web Graphics
Copyright:
Edition Number:
1st ed.
Series:
O'Reilly Nutshell
Series Volume:
no. 248
Publication Date:
1999
Binding:
Trade Paper
Language:
English
Illustrations:
Yes
Pages:
xix, 321 p., 4 p. of plat
Dimensions:
9.20x7.06x.88 in. 1.26 lbs.

Other books you might like

  1. $10.50 Used Trade Paper add to wish list
  2. $35.00 Used Hardcover add to wish list
  3. $10.50 Used Trade Paper add to wish list

    The Cost of Discipleship

    Dietrich Bonhoeffer
  4. $10.50 Used Trade Paper add to wish list

    Indian Killer

    Sherman Alexie
  5. $18.00 New Hardcover add to wish list
  6. $10.95 Used Trade Paper add to wish list
  • back to top

Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and eBooks — here at Powells.com.