pamcut
cut a rectangle out of a PAM, PBM, PGM, or PPM image
see also :
pnmcrop - pnmpad - pnmcat - pgmslice
Synopsis
pamcut
[-left leftcol] [-right
rightcol] [-top toprow] [-bottom
bottomrow] [-width width]
[-height height] [-pad]
[-verbose] [ left right width height ]
[pnmfile]
All options may
be abbreviated to the shortest unique prefix.
add an example, a script, a trick and tips
examples
source
my $backgroundfile = "$ourtmp/background.ppm";
system("pamcut
-left=0 -top=0 -width=1 -height=1 $infile | " .
open(STDIN, "<$ourtmp/blurred.ppm") or
die();
open(STDOUT, ">$shadowfile") or
die();
system("pamcut", "-left=0",
"-top=0",
description
Reads a PAM,
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 -left, -right,
-top, -bottom, -width, and
-height options. What you don’t specify
defaults. 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,
right, 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.
If you are
splitting a single image into multiple same-size images,
pamdice is faster than running pamcut multiple
times.
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 -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 -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, 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.
-verbose
Print information about the
processing to Standard Error.
see also
pnmcrop ,
pnmpad , pnmcat , pgmslice ,
pnm
author
Copyright (C)
1989 by Jef Poskanzer.