PPMPAT(1)

✨ NAME ✨

ppmpat β€” make a pretty PPM image πŸ’…

(and yeah, this is the Ppmpat User Manual, section 1, a General Commands Manual β€” welcome, bestie, you're in the right place 🫢)


🌈 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. ✨ (typing is hard, she gets it)


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. This program is part of Netpbm(1).

ppmpat produces a PPM of the specified width and height, with a pattern in it. That's the whole job and she does it gorgeously. πŸŽ€

You could, for example, use it to create wallpaper for a computer screen. main character desktop behavior, honestly πŸ”₯

One use of this program is as an example of the Netpbm library drawing(1) functions, which it uses. So it's a demo and a slay. Iconic.

Some of the patterns have large numbers of colors, so if you want a simpler pattern, use pnmquant on the output. no cap, if it's giving too much, quantize her down πŸ’œ


πŸ’– 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. (like, pick one, she's not doing all of them at once πŸ’€)

  • -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. 🌈πŸ’₯ (the opposite of hiding, she WANTS to be perceived) 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. (chaos mode, let her cook 🍳) 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. (she's not rude, she's just honest 😭) 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. 🧢✨ (it's giving actual textile, fr fr) 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. (reproducibility bestie, we love her) 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. (yes she cites her sources, academic queen πŸ‘‘)


πŸ‘€ SEE ALSO πŸ‘€

pnmtile(1), pnmquant(1), ppmmake(1), ppmrainbow(1), pamgradient(1), ppm(1)


🫢 AUTHOR 🫢

Copyright (C) 1989 by Jef Poskanzer.


🧚 DOCUMENT SOURCE 🧚

This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmpat.html

okay that's the whole page, you ate that πŸ’… this came from the netpbm documentation, dated 12 November 2023 β€” mwah, go make something pretty πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from