Computer Science
pnmshear(1) pnmshear(1)
NAME
pnmshear - shear a portable anymap by some angle
SYNOPSIS
pnmshear [-noantialias] angle [pnmfile]
DESCRIPTION
Reads a portable anymap as input. Shears it by the speci-
fied angle and produces a portable anymap as output. If
the input file is in color, the output will be too, other-
wise it will be grayscale. The angle is in degrees
(floating point), and measures this:
+-------+ +-------+
| | |\ \
| OLD | | \ NEW \
| | |an\ \
+-------+ |gle+-------+
If the angle is negative, it shears the other way:
+-------+ |-an+-------+
| | |gl/ /
| OLD | |e/ NEW /
| | |/ /
+-------+ +-------+
The angle should not get too close to 90 or -90, or the
resulting anymap will be unreasonably wide.
The shearing is implemented by looping over the source
pixels and distributing fractions to each of the destina-
tion pixels. This has an "anti-aliasing" effect - it
avoids jagged edges and similar artifacts. However, it
also means that the original colors or gray levels in the
image are modified. If you need to keep precisely the
same set of colors, you can use the -noantialias flag.
This does the shearing by moving pixels without changing
their values. If you want anti-aliasing and don't care
about the precise colors, but still need a limited *num-
ber* of colors, you can run the result through ppmquant.
All flags can be abbreviated to their shortest unique pre-
fix.
SEE ALSO
pnmrotate(1), pnmflip(1), pnm(5), ppmquant(1)
AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer.
12 January 1991 1
Back to the index