IM: PNG - Portable Network Graphic Format

IM - An Imaging Tool

PNG - Portable Network Graphic Format
[File Formats]

Description

Access to the PNG file format uses libPNG version 1.2.8.
http://www.libpng.org
Copyright (C) 1998-2004 Glenn Randers-Pehrson

Features

    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(1) returns png_structp libPNG structure.
 
    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.
      Changed pngconf.h to use int instead of long in png_uint_32 and png_int_32.