pgmtoppm
colorize a portable graymap into a portable pixmap
see also :
pnmdepth - rgb3toppm - ppmtopgm - ppmtorgb3
Synopsis
pgmtoppm
colorspec [pgmfile]
pgmtoppm colorspec1-colorspec2
[pgmfile]
pgmtoppm -map mapfile [pgmfile]
add an example, a script, a trick and tips
examples
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
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 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
pnmdepth ,
rgb3toppm , ppmtopgm ,
ppmtorgb3 , ppm, pgm
author
Copyright (C)
1991 by Jef Poskanzer.