Pamcut User Manual(1) General Commands Manual Pamcut User Manual(1)
NAME
pamcut - select a rectangular region of a PAM, PBM, PGM, or PPM image
SYNOPSIS
pamcut
[-left colnum]
[-right colnum]
[-top rownum]
[-bottom rownum]
[-width cols]
[-height rows]
[-pad]
[-cropleft numcols]
[-cropright numcols]
[-croptop numrows]
[-cropbottom numrows]
[-reportonly]
[-verbose]
[left top width height]
[pnmfile]
Minimum unique abbreviations of options 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(1).
pamcut reads a PAM, PBM, PGM, or PPM image as input and extracts the
specified rectangle, and produces the same kind of image as output.
You can specify either the rectangle to cut out and keep or specify the
edges to crop off and discard, or a combination.
To request edges be cropped off, use options -cropleft, -cropright,
-croptop, and -cropbottom to indicate how many rows or columns to dis-
card.
For example, -cropleft=50 -cropright=200 means to discard the leftmost
50 and rightmost 200 columns.
To specify the rectangle to keep, use -left, -right, -top, -bottom,
-width, -height, and -pad options.
For example, -left=50 -right=200 means to keep the 151 columns between
Columns 50 and 200 inclusive.
You can code any mixture of the options. What you don't specify de-
faults. Those defaults are in favor of minimal cutting and in favor of
cutting the right and bottom edges off and (with -pad) minimal padding
and padding on the right and bottom. It is an error to overspecify,
i.e. to specify all three of -left, -right, and -width or -top, -bottom,
and -height or right as well as -cropright.
There is an older way to specify the rectangle to keep: positional argu-
ments. Arguments were the only way available before July 2000, but you
should not use them in new applications. Options are easier to remember
and read, more expressive, and allow you to use defaults.
If you use both options and arguments, the two specifications get mixed
in an unspecified way.
To use arguments, specify all four of the left, top, width, and height
arguments. left and top have the same effect as specifying them as the
argument of a -left or -top option, respectively. width and height have
the same effect as specifying them as the argument of a -width or
-height option, respectively, where they are positive. Where they are
not positive, they have the same effect as specifying one less than the
value as the argument to a -right or -bottom option, respectively.
(E.g. width = 0 makes the cut go all the way to the right edge). Before
July 2000, negative numbers were not allowed for width and height.
Input is from Standard Input if you don't specify the input file pnm-
file.
Output is to Standard Output.
pamcut works on a multi-image stream. It cuts each image in the stream
independently and produces a multi-image stream output. Before Netpbm
10.32 (March 2006), it ignored all but the first image in the stream.
If you are splitting a single image into multiple same-size images,
pamdice is faster and easier than running pamcut multiple times.
pamcomp is also useful for cutting and padding an image to a certain
size. You create a background image of the desired frame dimensions and
overlay the subject image on it.
OPTIONS
In addition to the options common to all programs based on libnetpbm
(most notably -quiet, see ]8;;index.html#commonoptions\ Common Options]8;;\ ), pamcut recognizes the fol-
lowing command line options:
-left=colnum
The column number of the leftmost column to be in the output.
Columns left of this get cut out. If a nonnegative number, it
refers to columns numbered from 0 at the left, increasing to the
right. If negative, it refers to columns numbered -1 at the
right, decreasing to the left.
-right=colnum
The column number of the rightmost column to be in the output,
numbered the same as for -left. Columns to the right of this get
cut out.
-top=rownum
The row number of the topmost row to be in the output. Rows
above this get cut out. If a nonnegative number it refers to
rows numbered from 0 at the top, increasing downward. If nega-
tive, it refers to columns numbered -1 at the bottom, decreasing
upward.
-bottom=rownum
The row number of the bottom-most row to be in the output, num-
bered the same as for -top. Rows below this get cut out.
-width=cols
The number of columns to be in the output. Must be positive.
-height=rows
The number of rows to be in the output. Must be positive.
-cropleft
-cropright
-croptop
-cropbottom
These options tell how many rows or columns to crop from the
left, right, top, or bottom edges, respectively.
The value must not be negative.
These option were new in Netpbm 10.85 (December 2018). Before
that, you can achieve the same thing with -left, top, and nega-
tive values for -right and -bottom. Remember to subtract one in
the latter case; e.g. the equivalent of -cropright=1 is
-right=-2.
-pad If the rectangle you specify is not entirely within the input im-
age, pamcut fails unless you also specify -pad. In that case, it
pads the output with black up to the edges you specify. You can
use this option if you need to have an image of certain dimen-
sions and have an image of arbitrary dimensions.
pnmpad also adds borders to an image, but you specify their width
directly.
pamcomp does a more general form of this padding. Create a back-
ground image of the frame dimensions and overlay the subject im-
age on it. You can use options to have the subject image in the
center of the frame or against any edge and make the padding any
color (the padding color is the color of the background image).
-reportonly
This causes pamcut to write to Standard Output a description of
the
cutting it would have done instead of producing an output im-
age. See
]8;;#reportonly\below]8;;\ for a description of this output and ways
to use it.
That description is one line of text, containing 8 decimal num-
bers of
pixels, separated by spaces:
• column number of left cut
• column number of right cut
• row number of top cut
• row number of bottom cut
• width of input image
• height of input image
• width of output image
• height of output image
The column number of the left cut is the column number in the in-
put image of the leftmost column of the output image. for the
right cut, it is for the rightmost column of the output. Top and
bottom are analogous.
The column and row numbers can be negative if you specified -pad
and pamcut would have added padding. Likewise, they can be be-
yond the right and bottom edge of the input image.
Example:
10 109 -1 98 150 80 100 100
This option was new in Netpbm 11.06 (March 2024).
-verbose
Print information about the processing to Standard Error.
SEE ALSO
pnmcrop(1), pamdice(1), pamcomp(1), pnmpad(1), pamcat(1), pgmslice(1),
pnm(1)
HISTORY
pamcut was derived from pnmcut in Netpbm 9.20 (May 2001). It was the
first Netpbm program adapted to the new PAM format and programming li-
brary.
The predecessor pnmcut was one of the oldest tools in the Netpbm pack-
age.
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/pamcut.html
netpbm documentation 26 February 2024 Pamcut User Manual(1)
Generated by dwww version 1.16 on Tue Dec 16 04:19:11 CET 2025.