pampaintspill
Updated: 02 November 2021
Table Of Contents
NAME
pampaintspill - smoothly spill colors into the background
SYNOPSIS
pampaintspill
[--bgcolor=color]
[--wrap]
[--all]
[--downsample=number]
[--near=number]
[--power=number] [filename]
[-randomseed=integer]
Minimum unique abbreviations of option are acceptable. You may use
double hyphens instead of single hyphen to denote options. You may use
white space in place of the equals sign to separate an option name
from its value.
DESCRIPTION
This program is part of Netpbm.
pampaintspill produces a smooth color gradient from all of the
non-background-colored pixels in an input image, effectively "spilling
paint" onto the background. pampaintspill is similar to
pamgradient but differs in the following characteristics:
- pampaintspill accepts any number of paint
sources (non-background-colored pixels), which can lie anywhere
on the canvas. pamgradient accepts exactly
four paint sources, one in each corner of the image.
- pampaintspill requires an input image while
pamgradient generates a new image from
scratch.
- pampaintspill can produce tileable output and
can control how tightly the gradient colors bind to their source
pixels.
Results are generally best when the input image contains just a few, crisp
spots of color. Use your drawing program's pencil tool — as opposed to a
paintbrush or airbrush tool — with a small nib.
OPTIONS
In addition to the options common to all programs based on libnetpbm
(most notably -quiet, see
Common Options), pampaintspill recognizes the following
command line options:
- --bgcolor=color
- Explicitly specify the background color. color can be
specified using any of the formats accepted by the
pnm_parsecolor()
library
routine such as red
or #ff0000
. If
--bgcolor is not specified, pampaintspill makes an
educated guess about the background color based on the colors in the
image's corners.
- --wrap
- Allow gradients to wrap around image borders. That is, colors
that spill off the right side of the image reappear on the left side of
the image and likewise for left/right, top/bottom, and
bottom/top. --wrap makes images tileable, which is nice for
producing desktop backgrounds.
- --all
- Recolor all pixels, not just background pixels. Normally,
non-background-colored pixels in the input image appear unmodified in
the output image. With --all, all pixels are colored
based on their distance from all of the (other) non-background-colored
pixels.
- --downsample=number
- Ignore all but number non-background-colored pixels.
When a large number of pixels in the input image differ in color from
the background, pampaintspill runs very slowly. The
--downsample option randomly selects a given number of colored
pixels to use as paint sources for the gradients and ignores the rest,
thereby trading off image quality for speed of execution.
- --near=number
- Consider only the nearest number paint sources when computing
a pixel's new color. The default is to consider all paint sources.
In most cases, number should be fairly small, or its impact
will be minimal and execution time will increase unnecessarily. A
value of 1 produces a coloring that looks a lot like a Voronoi
diagram.
This option was new in Netpbm 10.97 (December 2021).
- --power=number
- Control how color intensity changes as a function of the
distance from a paint source. The default value for number is
-2.0, which means that intensity drops (because of the minus sign) with
the square (because of the 2.0) of the distance from each paint
source. -2.0 generally works well in practice, but other values can be
specified for various special effects. With very small numbers of paint
sources, -1.0 may produce subtler gradients, but these get muddier as
the number of paint sources increases. Positive numbers (e.g., 1.0 and
2.0) make the paint sources stand out in the output image by pushing the
gradients away from them.
- -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.
This option was new in Netpbm 10.94 (March 2021).
SEE ALSO
HISTORY
pampaintspill was new in Netpbm 10.50 (March 2010).
COPYRIGHT
Copyright © 2010–2021 Scott Pakin,
scott+pbm@pakin.org.
Table Of Contents