ppmpat

Updated: 12 November 2023
Table Of Contents

NAME

ppmpat - make a pretty PPM image

SYNOPSIS

ppmpat [{-gingham2|-g2} | {-gingham3|-g3} | -madras | -tartan | -poles | -squig | -camo | -anticamo | -argyle1 | -argyle2] [-color colorlist] [-mesh] [-randomseed integer] width height

You can abbreviate any option to its shortest unique prefix.

DESCRIPTION

This program is part of Netpbm.

ppmpat produces a PPM of the specified width and height, with a pattern in it.

You could, for example, use it to create wallpaper for a computer screen.

One use of this program is as an example of the Netpbm library drawing functions, which it uses.

Some of the patterns have large numbers of colors, so if you want a simpler pattern, use pnmquant on the output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), ppmpat recognizes the following command line options:

Pattern Specification

Specify the pattern type with these options. One pattern type must be specified.

-gingham2 -g2
A gingham check pattern. Can be tiled.

If you specify -color, give two colors: background and foreground, in that order.

-gingham3 -g3
A slightly more complicated gingham. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-madras
A madras plaid. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-tartan
A tartan plaid. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-poles
Color gradients centered on randomly-placed poles: a Voronoi diagram.

(There are many examples of this pattern in nature. One is the hide of a giraffe).

If you specify -color, give two or more colors.

-squig
Squiggley tubular pattern. Can be tiled.

If you specify -color, give three or more colors. The first is the background color.

-camo
Camouflage pattern.

If you specify -color, give three or more colors. The first is the background color; the others are colors for the leafy foreground shapes. The foreground shapes will probably occupy nearly the entire image, so that the background color is barely visible.

-anticamo
Anti-camouflage pattern - like -camo, but ultra-bright colors.

If you specify -color, this is the same as -camo.

-argyle1
A diamond argyle pattern, without a cross through the diamond, with one diamond. Can be tiled.

If you specify -color, give two colors: background and foreground, in that order.

This option was new in Netpbm 10.78 (March 2017).

-argyle2
A diamond argyle pattern, with a cross through the diamond, with one diamond. Can be tiled.

If you specify -color, give three colors: background, foreground, and stripe, in that order.

This option was new in Netpbm 10.78 (March 2017).

Other Options

-color colorlist
This specifies the colors to appear in the pattern.

If you do not specify this option, ppmpat chooses colors at random.

Different patterns take different numbers of colors. Some can involve variable numbers of colors. If you specify a number of colors incompatible with the pattern you specify, ppmpat fails, telling you how many colors to specify.

colorlist is a comma-separated list of colors.

Specify each color as described for the argument of the pnm_parsecolor() library routine.

Example: -color red, green, rgbi:1.0/0.5/.25 .

This option was new in Netpbm 10.78 (March 2017).

-mesh
This option affects the patterns generated by the -gingham2, -gingham3, -madras, and -tartan. When this option is not specified, when two colors intersect, the program mixes them and puts the average in the rectangular intersection region. with -mesh, the program fills that region with a checkerboard pattern consisting of the two colors. The resulting image looks like a true woven fabric, with separate threads for the separate colors.

This option was new in Netpbm 10.97 (December 2021).

-randomseed integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, ppmpat uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.61 (December 2012).

REFERENCES

Some of the patterns are from "Designer's Guide to Color 3" by Jeanne Allen.

SEE ALSO

pnmtile, pnmquant, ppmmake, ppmrainbow, pamgradient, ppm

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

Table Of Contents