ppmpat(1) General Commands Manual ppmpat(1)NAME
ppmpat - make a pretty pixmap
ppmpat -gingham2|-g2|-gingham3| -g3|-madras|-tartan| -poles|-squig|-camo| -anticamo width height
Produces a portable pixmap of the specified width and height, with a pattern in it.
This program is mainly to demonstrate use of the ppmdraw routines, a simple but powerful drawing library. See the ppmdraw.h include file
for more info on using these routines. Still, some of the patterns can be rather pretty. If you have a color workstation, something like
ppmpat -squig 300 300 | ppmquant 128 should generate a nice background.
The different flags specify various different pattern types:
A gingham check pattern. Can be tiled.
A slightly more complicated gingham. Can be tiled.
A madras plaid. Can be tiled.
A tartan plaid. Can be tiled.
-poles Color gradients centered on randomly-placed poles. May need to be run through ppmquant.
-squig Squiggley tubular pattern. Can be tiled. May need to be run through ppmquant.
-camo Camouflage pattern. May need to be run through ppmquant.
Anti-camouflage pattern - like -camo, but ultra-bright colors. May need to be run through ppmquant.
All flags can be abbreviated to their shortest unique prefix.
Some of the patterns are from "Designer's Guide to Color 3" by Jeanne Allen.
SEE ALSO pnmtile(1), ppmquant(1), ppm(5)AUTHOR
Copyright (C) 1989 by Jef Poskanzer.
04 September 1989 ppmpat(1)
Check Out this Related Man Page
ppmquant(1) General Commands Manual ppmquant(1)NAME
ppmquant - quantize the colors in a portable pixmap down to a specified number
ppmquant [-floyd|-fs] ncolors [ppmfile]
ppmquant [-floyd|-fs] [-nofloyd|-nofs] -mapfile mapfile [ppmfile]
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may
use either white space or equals signs between an option name and its value.
pnmquant is a newer, more general program that is backward compatible with ppmquant. ppmquant may be faster, though.
Reads a PPM image as input. Chooses ncolors colors to best represent the image, maps the existing colors to the new ones, and writes a PPM
image as output.
The quantization method is Heckbert's "median cut".
Alternately, you can skip the color-choosing step by specifying your own set of colors with the -mapfile option. The mapfile is just a ppm
file; it can be any shape, all that matters is the colors in it. For instance, to quantize down to the 8-color IBM TTL color set, you
0 0 0
255 0 0
0 255 0
0 0 255
255 255 0
255 0 255
0 255 255
255 255 255
If you want to quantize one image to use the colors in another one, just use the second one as the mapfile. You don't have to reduce it
down to only one pixel of each color, just use it as is.
If you use a mapfile, the output image has the same maxval as the mapfile. Otherwise, the output maxval is the same as the input maxval,
or less in some cases where the quantization process reduces the necessary resolution.
The -floyd/-fs option enables a Floyd-Steinberg error diffusion step. Floyd-Steinberg gives vastly better results on images where the
unmodified quantization has banding or other artifacts, especially when going to a small number of colors such as the above IBM set. How-
ever, it does take substantially more CPU time, so the default is off.
-nofloyd/-nofs means not to use the Floyd-Steinberg error diffusion. This is the default.
"Color Image Quantization for Frame Buffer Display" by Paul Heckbert, SIGGRAPH '82 Proceedings, page 297.
SEE ALSO pnmquant(1), ppmquantall(1), pnmdepth(1), ppmdither(1), ppm(5)AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer.
12 January 1991 ppmquant(1)