\ .\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pamcut User Manual" 1 "04 October 2019" "netpbm documentation" .SH NAME pamcut - cut a rectangle out of a PAM, PBM, PGM, or PPM image .UN synopsis .SH SYNOPSIS \fBpamcut\fP [\fB-left \fP\fIcolnum\fP] [\fB-right \fP\fIcolnum\fP] [\fB-top \fP\fIrownum\fP] [\fB-bottom \fP\fIrownum\fP] [\fB-width \fP\fIcols\fP] [\fB-height \fP\fIrows\fP] [\fB-pad\fP] [\fB-cropleft \fP\fInumcols\fP] [\fB-cropright \fP\fInumcols\fP] [\fB-croptop \fP\fInumrows\fP] [\fB-cropbottom \fP\fInumrows\fP] [\fB-verbose\fP] [\fIleft\fP \fItop\fP \fIwidth\fP \fIheight\fP] [\fIpnmfile\fP] .PP 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. .UN description .SH DESCRIPTION .PP This program is part of .BR "Netpbm" (1)\c \&. .PP \fBpamcut\fP reads a PAM, PBM, PGM, or PPM image as input and extracts the specified rectangle, and produces the same kind of image as output. .PP You can specify either the rectangle to cut out and keep or specify the edges to crop off and discard, or a combination. .PP To request edges be cropped off, use options \fB-cropleft\fP, \fB-cropright\fP, \fB-croptop\fP, and \fB-cropbottom\fP to indicate how many rows or columns to discard. .PP For example, \fB-cropleft=50 -cropright=200\fP means to discard the leftmost 50 and rightmost 200 columns. .PP To specify the rectangle to keep, use \fB-left\fP, \fB-right\fP, \fB-top\fP, \fB-bottom\fP, \fB-width\fP, \fB-height\fP, and \fB-pad\fP options. .PP For example, \fB-left=50 -right=200\fP means to keep the 150 columns between Columns 50 and 200 inclusive. .PP You can code any mixture of the options. What you don't specify defaults. Those defaults are in favor of minimal cutting and in favor of cutting the right and bottom edges off. It is an error to overspecify, i.e. to specify all three of \fB-left\fP, \fB-right\fP, and \fB-width\fP or \fB-top\fP, \fB-bottom\fP, and \fB-height\fP or \fBright\fP as well as \fB-cropright\fP. .PP There is an older way to specify the rectangle to keep: positional arguments. 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. .PP If you use both options and arguments, the two specifications get mixed in an unspecified way. .PP To use arguments, specify all four of the \fIleft\fP, \fItop\fP, \fIwidth\fP, and \fIheight\fP arguments. \fIleft\fP and \fItop\fP have the same effect as specifying them as the argument of a \fB-left\fP or \fB-top\fP option, respectively. \fIwidth\fP and \fIheight\fP have the same effect as specifying them as the argument of a \fB-width\fP or \fB-height\fP 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 \fB-right\fP or \fB-bottom\fP option, respectively. (E.g. \fIwidth\fP = 0 makes the cut go all the way to the right edge). Before July 2000, negative numbers were not allowed for \fIwidth\fP and \fIheight\fP. .PP Input is from Standard Input if you don't specify the input file \fIpnmfile\fP. .PP Output is to Standard Output. .PP \fBpamcut\fP 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. .PP If you are splitting a single image into multiple same-size images, \fBpamdice\fP is faster and easier than running \fBpamcut\fP multiple times. .PP \fBpamcomp\fP 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. .UN options .SH OPTIONS .PP In addition to the options common to all programs based on libnetpbm (most notably \fB-quiet\fP, see .UR index.html#commonoptions Common Options .UE \&), \fBpamcut\fP recognizes the following command line options: .TP \fB-left=\fP\fIcolnum\fP 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. .TP \fB-right=\fP\fIcolnum\fP The column number of the rightmost column to be in the output, numbered the same as for \fB-left.\fP Columns to the right of this get cut out. .TP \fB-top=\fP\fIrownum\fP 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 negative, it refers to columns numbered -1 at the bottom, decreasing upward. .TP \fB-bottom=\fP\fIrownum\fP The row number of the bottom-most row to be in the output, numbered the same as for \fB-top\fP. Rows below this get cut out. .TP \fB-width=\fP\fIcols\fP The number of columns to be in the output. Must be positive. .TP \fB-height=\fP\fIrows\fP The number of rows to be in the output. Must be positive. .TP \fB-cropleft\fP .TP \fB-cropright\fP .TP \fB-croptop\fP .TP \fB-cropbottom\fP These options tell how many rows or columns to crop from the left, right, top, or bottom edges, respectively. .sp The value must not be negative. .sp These option were new in Netpbm 10.85 (December 2018). Before that, you can achieve the same thing with \fB-left\fP, \fBtop\fP, and negative values for \fB-right\fP and \fB-bottom\fP. Remember to subtract one in the latter case; e.g. the equivalent of \fB-cropright=1\fP is \fB-right=-2\fP. .TP \fB-pad\fP If the rectangle you specify is not entirely within the input image, \fBpamcut\fP fails unless you also specify \fB-pad\fP. 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 dimensions and have an image of arbitrary dimensions. .sp \fBpnmpad\fP also adds borders to an image, but you specify their width directly. .sp \fBpamcomp\fP does a more general form of this padding. Create a background image of the frame dimensions and overlay the subject image 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). .TP \fB-verbose\fP Print information about the processing to Standard Error. .UN seealso .SH SEE ALSO .BR "pnmcrop" (1)\c \&, .BR "pamdice" (1)\c \&, .BR "pamcomp" (1)\c \&, .BR "pnmpad" (1)\c \&, .BR "pamcat" (1)\c \&, .BR "pgmslice" (1)\c \&, .BR "pnm" (1)\c \& .UN history .SH HISTORY .PP \fBpamcut\fP was derived from \fBpnmcut\fP in Netpbm 9.20 (May 2001). It was the first Netpbm program adapted to the new PAM format and programming library. .PP The predecessor \fBpnmcut\fP was one of the oldest tools in the Netpbm package. .UN author .SH AUTHOR Copyright (C) 1989 by Jef Poskanzer. .SH DOCUMENT SOURCE This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at .IP .B http://netpbm.sourceforge.net/doc/pamcut.html .PP