.TH ppm 5 "27 September 1991" .SH NAME ppm - portable pixmap file format .SH DESCRIPTION The portable pixmap format is a lowest common denominator color image file format. .IX "PPM file format" The definition is as follows: .IP - 2 A "magic number" for identifying the file type. A ppm file's magic number is the two characters "P3". .IX "magic numbers" .IP - 2 Whitespace (blanks, TABs, CRs, LFs). .IP - 2 A width, formatted as ASCII characters in decimal. .IP - 2 Whitespace. .IP - 2 A height, again in ASCII decimal. .IP - 2 Whitespace. .IP - 2 The maximum color-component value, again in ASCII decimal. .IP - 2 Whitespace. .IP - 2 Width * height pixels, each three ASCII decimal values between 0 and the specified maximum value, starting at the top-left corner of the pixmap, proceeding in normal English reading order. The three values for each pixel represent red, green, and blue, respectively; a value of 0 means that color is off, and the maximum value means that color is maxxed out. .IP - 2 Characters from a "#" to the next end-of-line are ignored (comments). .IP - 2 No line should be longer than 70 characters. .PP Here is an example of a small pixmap in this format: .nf P3 # feep.ppm 4 4 15 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 0 15 0 15 0 0 0 0 0 0 0 0 0 .fi .PP Programs that read this format should be as lenient as possible, accepting anything that looks remotely like a pixmap. .PP There is also a "rawbits" variant on the format. This variant is different in the following ways: .IP - 2 The "magic number" is "P6" instead of "P3". .IP - 2 The pixel values are stored as plain bytes, instead of ASCII decimal. .IP - 2 No whitespace is allowed in the pixels section, and only a single character of whitespace, typically a newline, is allowed after the maxval. (This last requirement is actually due to a botch in the design of the file format.) .IP - 2 The files are smaller and many times faster to read and write. .PP If maxval is between 256 and 65535, the pixel values are stored as two bytes, low byte first and high byte second. Images with maxval higher than 65535 must be written in the slower but more general plain format. .SH "SEE ALSO" pbmplus(1), pbm(5), pgm(5), pnm(5) .SH AUTHOR Copyright (C) 1989, 1991, 1999 by Jef Poskanzer. .\" Permission to use, copy, modify, and distribute this software and its .\" documentation for any purpose and without fee is hereby granted, provided .\" that the above copyright notice appear in all copies and that both that .\" copyright notice and this permission notice appear in supporting .\" documentation. This software is provided "as is" without express or .\" implied warranty.