1. NAME

pnmcut - cut a rectangle out of a portable anymap

2. SYNOPSIS

pnmcut [ "-left \fIleftcol" ] [ "-right \fIrightcol" ] [ "-top \fItoprow" ] [ "-bottom \fIbottomrow" ] [ "-width \fIwidth" ] [ "-height \fIheight" ] [ "-pad" ] [ "-verbose" ] [ left top width height] [ pnmfile ] All options may be abbreviated to the shortest unique prefix.

3. DESCRIPTION

Reads a PBM, PGM, or PPM image as input. 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. To use options, just code any mixture of the

R -left ,

R -right ,

R -top ,

R -bottom ,

R -width , and

R -height options. What you don't specify defaults. It is an error to overspecify, i.e. to specify all three of

R -left ,

R -right , and

R -width or

R -top ,

R -bottom , and

R -height . To use arguments, specify all four of the left , top , width , and height arguments. leftand tophave the same effect as specifying them as the argument of a

-left or

-top option, respectively. widthand heighthave 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 widthand height . Input is from Standard Input if you don't specify the input file pnmfile . Output is to Standard Output.

4. OPTIONS

-left

    The column number of the leftmost column to be in the output. 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

    The column number of the rightmost column to be in the output, numbered the same as for

R -left.

-top

    The row number of the topmost row to be in the output. 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.

-bottom

    The row number of the bottom-most row to be in the output, numbered the same as for

R -top .

-width

    The number of columns to be in the output. Must be positive.

-height

    The number of rows to be in the output. Must be positive.

-pad

    If the rectangle you specify is not entirely within the input image,

pnmcut fails unless you also specify

R -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 dimensions and have an image of arbitrary dimensions.

pnmpad can also fill an image out to a specified dimension, and gives you more explicit control over the padding.

-verbose

    Print information about the processing to Standard Error.

5. SEE ALSO

R pnmcrop (1),

R pnmpad (1),

R pnmcat (1),

R pgmslice (1),

R pnm (5)

6. AUTHOR

Copyright (C) 1989 by Jef Poskanzer.