Minimum unique abbreviation of option is 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.
This program is part of Netpbm.
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.
There are two ways to specify the rectangle to cut: arguments and options. Options are easier to remember and read, more expressive, and allow you to use defaults. Arguments were the only way available before July 2000.
If you use both options and arguments, the two specifications get mixed in an unspecified way.
In any case, remember that you are specifying the rectangle to keep, not the bits to discard. Otherwise, you'll be tempted to believe that -right=9 means to delete the 9 rightmost columns. (It really means keep the stuff up to Column 9 and delete the rest).
To use options, just code any mixture of the -left, -right, -top, -bottom, -width, and -height 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 -left, -right, and -width or -top, -bottom, and -height.
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 pnmfile.
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 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.
To delete N columns at the left edge, specify -left=N.
To delete N columns at the right edge, specify -left=--(N+1).
To delete N rows at the top, specify -top=N.
To delete N rows at the bottom, specify -bottom=-(N+1).
pnmpad also adds borders to an image, but you specify their width directly.
pamcomp 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).
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 library.
The predecessor pnmcut was one of the oldest tools in the Netpbm package.