PREVIOUS CONTENTS NEXT

# 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

PREVIOUS CONTENTS NEXT