Index
NOTE: The page numbers in this index refer to the
first edition of the book
(i.e., paper), published by O'Reilly and Associates. The links
attached to each page number or page range point to the appropriate locations
within the electronic copy, however. (In the case of page ranges with a single
link, the link points to the beginning of the range.)
Symbols
- !Png2Spr image converter, 106
- <IMG> tags, 19, 38-39, 43
- <OBJECT> tags, 19, 38-40
- Microsoft Internet Explorer support, 33
- Netscape Navigator support, 30
Numbers
- 1stGuide image viewer, 59
- 16-bit sample depth
- alpha_composite() macro, 235
- Fireworks image editor, 21
- medical tomographic (CT) images, 254
- Photoshop 4 image editor, 71
- Photoshop 5 image editor, 67
- PNGHandler, 279
- Python Imaging Library, 279
- rpng demo program, 227, 232
- scaling, 254-255
- 3D applications, 116-119
- (see also VRML browsers)
- 3D Studio MAX application, 116
A
- 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 image 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, 235, 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-44
- Application Extension (GIF), 196
- Archimedes image viewers, 61
- Arena browser, 35
- arithmetic coding, 151, 204
- 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
B
- 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, 132, 195
- BitJazz utility, 14
- bits, 4
- bKGD (background color) chunk, 179, 226, 247
- blaxxun Contact VRML browser, 112-113
- Boutell, Tom, 124
- Bowler, John, 237
- Browse (Acorn), 35
- browsers, 29-40, 283
- bzip2 utility, 14, 151
C
- calibration (xSCL, ySCL) chunks, 198
- callback functions, 243
- Cameleo image viewer, 52
- Canvas image editor, 82
- Caption keyword (text annotations), 183
- CC3D, CCpro VRML browsers, 112
- (see also blaxxun Contact VRML browser)
- channels, 5
- cheap transparency, 141, 143, 161
- Fireworks image editor, 27
- 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
- image editor capabilities
- Fireworks, 21
- ImageReady, 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 VRML 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
- Fireworks, 22, 27
- GIMP, 80-81
- ImageReady, 75
- Paint Shop Pro, 77
- Photoshop 4, 71
- Photoshop 5, 67
- judging effectiveness of, 153-158
- pngcrush image optimizer, 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 VRML browser, 112-113
- content negotiation, 42-44
- 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 VRML browser, 110-111
- Cosmo Worlds VRML editor, 116
- Costello, Adam, 144, 157, 250
- CPIC image viewer, 46, 50, 55
- CRCs (cyclic redundancy checks), 132, 284
- Creation Time keyword (text annotations), 182
- Fireworks image editor, 28
- 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
D
- datatypes, Amiga, 36, 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
E
- 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 annotations
- Fireworks editor, 27-28
- GIMP editor, 78
- ImageReady editor, 75
- Paint Shop Pro editor, 77
- Photoshop 5 editor, 67
- 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 application, 116
F
- 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 image editor (Macromedia), 20-28
- FmView image viewer, 47
- Font F/X 3D application, 117
- 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 VRML browser, 114
- Fromme, Oliver, 125
G
- Gailly, Jean-loup, 128, 151
- Galleria image viewer, 55
- gAMA chunk, 166-168, 247
- 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
- Fireworks, 21
- GIMP, 81
- ImageReady, 75
- Paint Shop Pro, 77
- Photoshop, 65, 70
- pngcrush image optimizer, 90
- problems with, 170-171
- rpng demo program, 228-234
- wpng demo program, 256-257
- writing PNGs, 253
- GEM-View image viewer, 59
- gforge 3D utility, 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 images, 5, 140-142, 160
- Fireworks editor, 21
- ImageReady editor, 71
- filtering, 150
- gtkLookat VRML browser, 113
- gzip utility (Unix), 15, 151, 283
H
- Haeberli, Paul, 125
- haiku, 123, 285
- halo effect, 9
- header (IHDR) chunk, 137, 226, 246, 265
- 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
I
- ICC profiles, 12, 162, 176-178
- iCCP chunk, 177-178
- Icons Control 95 image converter, 105
- IDAT (image data) chunk, 137, 204
- IE (Internet Explorer), 32, 130, 278
- IEC (International Electrotechnical Commission), 12, 131
- IEND (image end) chunk, 138, 204
- IETF (Internet Engineering Task Force), 129
- IHDR (image header) chunk, 137, 226, 246, 265
- IIS (Internet Information Server), 30, 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, 32, 39-40, 129
- ImageReady image editor, 71-75
- ImageVision Library, 276
- image/x-png media type, 40
- Img library, 279
- <IMG> tags, 19, 38-39, 43
- ImgDLL library, 280
- ImgViewer image viewer, 47
- Imlib library, 276
- implementation of PNG format, 128-129
- indexed-color images (see palette-based images)
- Info-ZIP, 125, 151, 283
- interlacing, 12-14, 16, 143-147
- compression and, 159
- filtering and, 149
- Fireworks image editor, 28
- 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), 30, 41-42
- IrfanView32 image viewer, 48
- ISO (International Organization for Standardization), 12, 131, 177
- iTXt (international text) chunk, 181, 184
J
- 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
K
- Kenichiro, Yamahata, 80
- KeyView Pro image viewer, 48, 51
L
- Lane, Tom, 125, 129
- Latin-1 text annotation (see text annotations)
- LatinByrd image converter, 105
- LCDs and gamma, 170
- LEADTOOLS library, 280
- Leffler, Sam, 139
- left bit replication, 254
- legal disclaimer (text annotations), 183
- Lehmann, Alexander, 129
- Lempel, Abraham, 123
- Lempel-Ziv-Welch (LZW) compression, 15
- libjpeg library, 141, 204
- libpng library, 219, 283
- automatic compression and filtering options, 161
- early development of, 127-129, 130-131
- gif2png compression results, 154
- rpng demo program, 219-237
- rpng2 demo program, 238-252
- smoothing and centered pixel replication, 146
- source code, 237
- wpng demo program, 255-273
- libraries for PNG images
- cross-platform libraries, 274-280
- libpng, 219, 283
- rpng demo program, 219-237
- rpng2 demo program, 238-252
- wpng demo program, 255-273
- Windows-specific libraries, 280-281
- libtiff library, 100, 139, 146
- LibVRML97/Lookat suite, 113
- LightWave 3D application, 117
- Liquid Reality VRML browser, 115
- little-endian format, 100, 128, 195
- Live3D VRML browser, 115
- LiView image viewer, 59
- longjmp(), 223, 241, 263
- Lookat VRML 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, 123
M
- Macintosh platform
- gamma correction, 168
- image viewers, 55
- Internet Explorer on, 34
- web browsers, 37
- Macromedia Fireworks image editor, 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
- media types
- image/gif, 39
- image/jpeg, 39
- image/png, 32, 39-40, 129
- image/x-png, 40
- memory allocation, manual, 223
- memory allocators, custom, 236
- MEND chunk, 202
- MHDR (MNG header) chunk, 202
- MHEG-5 UK Profile, 131
- Microsoft, 229
- IIS (Internet Information Server), 30, 41-42
- Image Composer, 83
- Internet Explorer, 32-34, 130, 278
- Office 2000, 237
- Office 97, 130
- Visual C++, 275
- MIME types (see media types)
- minimum sum of absolute differences, 150
- Mitchell, Kevin, 129
- MNG image format, 129-130, 199-216
- algorithmic images, 200, 211
- animated movies 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 (Netscape Navigator open source code), 30, 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
N
- Navigator (Netscape), 29-32
- Nendo 3D 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
O
- 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 browser, 34-35
- ordered dithering, 64
- OS/2 platform
- browsers, 38
- image viewers, 55
P
- Paeth, Alan W., 148
- Paeth predictor, 148
- Paint Shop Pro editor, 76-78, 215
- 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
- perceptual rendering intent, 176
- Personal Paint image editor, 83
- pf2wrl converter, 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_XXXX_struct() functions, 224
- png_create_info_struct(), 222
- png_create_read_struct(), 222, 241
- png_create_write_struct(), 262-263
- 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-44
- 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_interlace_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 optimizer, 88-91, 154
- png.h header file, 220, 239, 261
- PNGHandler, 279
- PNGImageViewer image viewer, 57
- Pnglets, 278
- pnglib library, 127-128
- (see also libpng library)
- 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 3D 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 JPEG
- spectral selection, 145
- successive approximation, 145
- 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
Q
- 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
R
- Randers-Pehrson, Glenn, 54, 88, 126, 129-131, 199, 214
- Randers-Pehrson, Michael N., 285
- raster images, 4
- Rational Reducer 3D 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
- Roelofs, Greg, 100, 125, 127, 214
- 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
S
- 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-44
- 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, James, 151
- strips (TIFF interlacing), 146
- structs, accessing, 223-224, 246, 268
- successive approximation, 145
- suggested palette (sPLT) chunk, 142, 187
- SuperView Library, 280
- SViewII image viewer, 60
- system gamma, 168
- Szymanski, Thomas, 151
T
- teletext, 131
- text annotations
- Fireworks editor, 27-28
- ImageReady editor, 75
- international (iTXt chunk), 181, 184
- Paint Shop Pro editor, 77
- Photoshop 4 editor, 71
- 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
- pnmtopng, 94
- tiff2png, 99-100
- 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
- Fireworks image editor, 28
- timestamp, 180
- tips
- compression, 159-162
- for programmers, 281-285
- Title keyword (text annotations), 182
- wpng demo program, 258
- Torch VRML engine, 115
- ToyViewer image viewer, 54
- Translator image viewer, 61
- transparency, 6, 9-11, 137, 282
- adding with image editors
- Fireworks, 22-27
- GIMP, 80
- ImageReady, 71
- Photoshop 4, 69, 71
- Photoshop 5, 64, 68
- choosing image format, 18
- grayscale images, 141
- image converter capabilities
- gif2png, 98
- pnmtopng, 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)
- 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 3D application, 118
- TwistedPixel library, 281
U
- uch, ulg, ush datatypes, 222
- UCS-4 character set, 186
- 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
V
- van Schaik, Willem, 129
- variants files (Apache), 42
- vector-based images, 4
- VermelGen VRML 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, 214
- ViewTEK image viewer, 60
- Visage image viewer, 60
- Viscape Universal 3D 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 VRML browser, 115
W
- W3C (World Wide Web Consortium), 30, 44, 129
- Warning keyword (text annotations), 183
- web browsers, 29-40, 283
- web servers, 40-44
- 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), 30, 44, 129
- WorldView/MSVRL browser, 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-44
X
- Xara Webster image editor, 85
- Xara3D application, 119
- xart image editor, 85
- xli image viewer, 54
- xmLookat VRML browser, 113
- XPaint image editor, 85
- xRes image editor, 86
- xSCL calibration chunk, 198
- XV image viewer, 52, 54
- XVidCap application, 215
Y
- Y2K, Y10K, Y65K, Y2038 compliance, 180
- YCbCr color space, 136
- YIQ color space, 136
- ySCL calibration chunk, 198
- YUV color space, 136
Z
- Zeus server, 42
- Zgv image viewer, 55
- Ziv, Jacob, 123
- zlib format, 152
- specification, 181
- zlib library, 102, 127-128, 131, 152, 219, 283
- source code, 237
- zlib.h header file, 220
- zTXt chunk, 181
- PNG-writing program, 257-261