Full Name |
PNM (Portable Any-Map File Format) |
Format ID |
IG_FORMAT_PBM = 28 (See the Note below) |
File Extension(s) |
*.pnm |
Data Type |
Raster Image |
Data Encoding |
Binary |
Color Profile Support |
No |
Multi-Page Support |
No |
Alpha Channel Support |
No |
ImageGear supports PNM file format via its IG_FORMAT_PBM format filter. Use IG_FORMAT_PBM to save images to PNM format.
ImageGear Supported Versions:
October 1991 - last release
ImageGear Supported Features:
- IG_FLTR_DETECTSUPPORT - autodetection
- IG_FLTR_PAGEREADSUPPORT - single page file reading
- IG_FLTR_PAGEINSERTSUPPORT - single-page file writing
ImageGear Read Support:
- IG_COMPRESSION_RAW:
- Indexed RGB: 1 bpp;
- Grayscale: 8, 16 bpp;
- RGB: 24, 48 bpp
- IG_COMPRESSION_ASCII:
- Indexed RGB: 1 bpp;
- Grayscale: 8, 16 bpp;
- RGB: 24, 48 bpp
ImageGear Write Support:
- IG_COMPRESSION_RAW:
- Indexed RGB: 1 bpp;
- Grayscale: 8, 16 bpp;
- RGB: 24, 48 bpp
- IG_COMPRESSION_ASCII:
- Indexed RGB: 1 bpp;
- Grayscale: 8, 16 bpp;
- RGB: 24, 48 bpp
ImageGear Filter Control Parameters:
None
Comments:
The PNM format is useful for quick and easy transfer of uncomplicated monochrome, grayscale, or color bitmap images. This format, as well as the PBM, PGM, and PPM formats, are at the core of a set of utility programs also written by Jef Poskanzer. These formats serve as intermediary storage methods for the conversion of other file formats. For example, a function called gifftoppm translates a GIF file to a PPM, from where it can be then translated to a TIFF using the pnmtotiff.
The Portable Anymap File Format structure is very simple. The "Anymap" portion of its name refers to the fact that it can be one of three types of UNIX bitmap file formats: the Portable Bitmap File Format (PBM), the Portable Graymap File Format (PGM), or the Portable Pixelmap File Format (PPM). A PNM begins with a short ASCII header that contains the file type identifier (magic number), the width and height of the image, a "maximum color-component value" if it is a PPM, a "maximum gray value" if it is a PGM, and perhaps a comment line identifying the filename. Following white space (usually a carriage return) is the bitmap data. For PGM and PPM files, the number of pixels is equal to width * height (whereas, in a PBM file, this calculation gives you the number of bits).
The magic number of the header can have one of six values depending on whether the bitmap is in PBM, PGM, or PPM format. Each format can have one of two magic numbers depending on whether the pixel data is stored in ASCII decimal or plain bytes. See the descriptions for the individual formats (these are all supported by ImageGear) for more details.
References Used
Kay, David C. and John R. Levine. Graphics File Formats, 2nd ed. Windcrest /McGraw-Hill, 1995.
PBM, PGM, PPM, PNM Specifications by Jef Poskanzer, copyright 1989, 1991.