O'Reilly logo

PNG: The Definitive Guide by Greg Roelofs

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required