Reads a PGM as input. Produces a PPM file as output with a specific color assigned to each gray value in the input.
If you specify one color argument, black in the pgm file stays black and white in the pgm file turns into the specified color in the ppm file. Gray values in between are linearly mapped to differing intensities of the specified color.
If you specify two color arguments (separated by a dash), then black gets mapped to the first color and white gets mapped to the second and gray values in between get mapped linearly (across a three dimensional space) to colors in between.
You can specify the color in one of five ways:
A name, from an X11-style color names file.
An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are each 1- to 4-digit hexadecimal numbers.
An X11-style decimal specifier: rgbi:r/g/b, where r g and b are floating point numbers between 0 and 1.
For backwards compatibility, a triplet of numbers separated by commas: r,g,b, where r g and b are floating point numbers between 0 and 1. (This style was added before MIT came up with the similar rgbi style.)
The pgmtoppm, like all Netpbm programs, can accept a PBM file as if it were PGM. The maxval of this image is 1, because only two gray values are needed: black and white. Run this image through pgmtoppm 0f/00/00 to try to make the image black and faint red. Because the output image will also have maxval 1, there is no such thing as faint red. It has to be either full-on red or black. pgmtoppm__ rounds the color 0f/00/00 down to black, and you get an output image that is nothing but black.