In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common
Options ), pnmpad recognizes the following command line options:
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 an equals sign between an option name and its
value.
-color=color-detect-background-extend-edge-white-black This specifies the color of the padding. color is like the argument of the pnm_parsecolor()
library routine .
-detect-background means the program uses the color of the top left pixel of the input as the pad
color. Note that this could cause odd results if you aren't padding the top or left of the image.
You may specify only one of -white, -black, -color, and -detect-background.
-extend-edge says to pad by duplicating the adjacent edge of the image pixel by pixel. E.g. if
the top row of the image is 20 white pixels followed by 10 black pixels, every row of padding
added to the top of the image is 20 white pixels followed by 20 black pixels.
By default, the padding is black.
-white and -black are for backward compatibility. -color, -detect-background, and -extend-edge
were new with Netpbm 11.05 (December 2023).
-left=pixels-right=pixels-width=width-halign=ratio-mwidth=pixels
Specify amount of left and right padding in pixels.
-left and -right directly specify the amount of padding added to the left and right sides,
respectively, of the image.
Alternatively, you can specify -width and just one of -left and -right and pnmpad calculates the
required padding on the other side to make the output width pixels wide. If the -width value is
less than the width of the input image plus the specified padding, pnmpad ignores -width.
If you specify all three of -width, -left, and -right, you must ensure that the -left and -right
padding are sufficient to make the image at least as wide as -width specifies, and in that case
-width has no effect on the output. Otherwise, pnmpad fails.
When you specify -width without -left or -right, and -width is larger than the input image, pnmpad
chooses left and right padding amounts in a certain ratio. That ratio defaults to half, but you
can set it to anything (from 0 to 1) with the -halign option. If the input image is already at
least as wide as -width specifies, pnmpad adds no padding.
Common values for -halign are:
0.0 left aligned
0.5 center aligned (default)
1.0 right aligned
-mwidth=pixels says to pad to a multiple of pixels pixels. E.g. if pixels is 10, the output image
width will be a multiple of 10 pixels. pnmpad adds to whatever padding the other options say to
do to get to this multiple. It divides that padding between the left and right sides of the image
to maintain the ratio the other options produce. E.g. if you say -left=10-right=10-mwidth=50
with a 100-pixel image, you end up with a 150-pixel image with the extra padding split evenly
between left and right for a total of 25 pixels of padding on the left and 25 on the right. If
the other options indicate no padding, pnmpad adds padding in the ratio specified by -halign and
if -halign is not specified, equally on both sides.
Before Netpbm 10.97 (December 2021), pnmpad does not allow -halign with -mwidth and adds padding
only on the right when -mwidth is specified and the other options indicate no padding.
Before Netpbm 10.72 (September 2015), there is no -mwidth.
Before Netpbm 10.23 (July 2004), pnmpad did not allow the -left or -right option together with
-width.
-top=pixels-bottom=pixels-height=height-valign=ratio-mheight=pixels
These options determine the vertical padding. They are analogous to the horizontal padding
options above.
-promote={none|format|all}
This option tells what to do when the -color option specifies a color that cannot be represented
in the input format, which ordinarily is also the output format. For example, if the input is PGM
(which can represent only shades of gray), and you specify -color=red, should pnmpad make the
padding gray or make the output PPM?
none
Make the output have the same format and maxval as the input.
Adjust the pad color to the nearest color possible in that format
(black, white, or a shade of gray).
format
Make the output have the same maxval as the input, but make
the output format PPM if the pad color is not black, white, or gray.
all
Make the format and maxval of the output capable of representing the
pad color. Make the format the least expressive format capable of
representing the pad color. Make the maxval the larger of 255 and
the maxval of the input image.
The default is -promote=all.
Note that this promotion happens even if no actual padding happens, meaning it isn't really
necessary. The promotion is based on what would be required to represent padding of the specified
color.
This option is valid only when you also specify -color.
This option was new in Netpbm 11.05 (December 2023).
-reportonly
This causes pnmpad to write to Standard Output a description of the
padding it would have done instead of producing an output image. See
below for a description of this output and ways
to use it.
This option was new in Netpbm 10.89 (December 2019).
-verbose
This causes verbose messages.