Provided by: netpbm_11.07.00-2_amd64 bug

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 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.

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 discard.

       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 defaults.  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 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.

       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 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  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
        Common Options ⟨index.html#commonoptions⟩ ), pamcut recognizes the following 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 negative, 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, numbered 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 negative 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 image,  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 dimensions 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 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).

       -reportonly
                This causes pamcut to write to Standard Output a description of the
                cutting it would have done instead of producing an output image.  See

              below ⟨#reportonly⟩  for a description of this output and ways
                to use it.

              That description is one line of text, containing 8 decimal numbers 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 input  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 beyond 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 library.

       The predecessor pnmcut was one of the oldest tools in the Netpbm package.

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