PNG - Portable Network Graphic Format
[File Formats]
- Access to the PNG file format uses libPNG version 1.2.5.
http://www.libpng.org
Copyright (C) 2000-2002 Glenn Randers-Pehrson
- Deflate compression support uses zlib version 1.2.1.
http://www.zlib.org
Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler
Data Types: Byte and UShort
Color Spaces: Gray, RGB, MAP and Binary
Compressions:
DEFLATE - LZ77 variation (ZIP) [default]
Only one image.
Can have an alpha channel.
Internally the components are always packed.
Internally the lines are arranged from top down to bottom.
Handle() returns png_structp
Attributes:
ZIPQuality IM_INT (1) [1-9, default 6] (write only)
ResolutionUnit (string) ["DPC", "DPI"]
XResolution, YResolution IM_FLOAT (1)
Interlaced (same as Progressive) IM_INT (1 | 0) default 0
Gamma IM_FLOAT (1)
WhitePoint IMFLOAT (2)
PrimaryChromaticities IMFLOAT (6)
XPosition, YPosition IM_FLOAT (1)
sRGBIntent IM_INT (1) [0: Perceptual, 1: Relative colorimetric, 2: Saturation, 3: Absolute colorimetric]
TransparencyIndex IM_BYTE (1 or N)
TransparentColor IM_BYTE (3)
CalibrationName, CalibrationUnits (string)
CalibrationLimits IM_INT (2)
CalibrationEquation IM_BYTE (1) [0-Linear,1-Exponential,2-Arbitrary,3-HyperbolicSine)]
CalibrationParam (string) [params separated by '\\n']
Title, Author, Description, Copyright, DateTime (string)
Software, Disclaimer, Warning, Source, Comment, ... (string)
DateTimeModified (string) [when writing uses the current system time]
ICCProfile IM_BYTE (N)
ScaleUnit (string) ["meters", "radians"]
XScale, YScale IM_FLOAT (1)
Comments:
Attributes after the image are ignored.
Define PNG_NO_CONSOLE_IO to avoid printfs.
We define PNG_TIME_RFC1123_SUPPORTED.
Add the following files to the makefile to optimize the library:
pngvcrd.c - PNG_USE_PNGVCRD
For Intel x86 CPU and Microsoft Visual C++ compiler
pnggccrd.c - PNG_USE_PNGGCCRD
For Intel x86 CPU (Pentium-MMX or later) and GNU C compiler.