NAME
pgmtoppm - colorize a portable graymap into a portable pixmap
SYNOPSIS
pgmtoppm
colorspec
[pgmfile]
pgmtoppm
B colorspec1 - colorspec2
[pgmfile]
pgmtoppm -map
mapfile
[pgmfile]
DESCRIPTION
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:
o
A name, from an X11-style color names file.
o
An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are
each 1- to 4-digit hexadecimal numbers.
o
An X11-style decimal specifier: rgbi:r/g/b, where r g and b are
floating point numbers between 0 and 1.
o
For backwards compatibility, an old-X11-style hexadecimal
number: #rgb, #rrggbb, #rrrgggbbb, or #rrrrggggbbbb.
o
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.)
Also, you can specify an entire colormap with the
-map
option.
The mapfile is just a
ppm
file; it can be any shape, all that matters is the colors in it and
their order. In this case, black gets mapped into the first color in
the map file, and white gets mapped to the last and gray values in
between are mapped linearly onto the sequence of colors in between.
NOTE - MAXVAL
The "maxval," or depth, of the output image is the same as that of the
input image. The maxval affects the color resolution, which may cause
quantization errors you don't anticipate in your output. For example,
you have a simple black and white image (in fact, let's say it's a
PBM file, since
R 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.
The fix is easy: Pass the input through
pnmdepth
on the way into
pgmtoppm
to increase its depth to something that would give you the resolution you
need to get your desired color. In this case,
pnmdepth 16
would do it. Or spare yourself the unnecessary thinking and just say
pnmdepth 255 .
SEE ALSO
AUTHOR
Copyright (C) 1991 by Jef Poskanzer.