Computer Science
pnmrotate(1) pnmrotate(1)
NAME
pnmrotate - rotate a portable anymap by some angle
SYNOPSIS
pnmrotate [-noantialias] angle [pnmfile]
DESCRIPTION
Reads a portable anymap as input. Rotates it by the spec-
ified 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), measured counter-clockwise. It can be
negative, but it should be between -90 and 90. Also, for
rotations greater than 45 degrees you may get better
results if you first use pnmflip to do a 90 degree rota-
tion and then pnmrotate less than 45 degrees back the
other direction
The rotation algorithm is Alan Paeth's three-shear method.
Each shear is implemented by looping over the source pix-
els and distributing fractions to each of the destination
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 val-
ues. If you want anti-aliasing and don't care about the
precise colors, but still need a limited *number* of col-
ors, you can run the result through ppmquant.
All flags can be abbreviated to their shortest unique pre-
fix.
REFERENCES
"A Fast Algorithm for General Raster Rotation" by Alan
Paeth, Graphics Interface '86, pp. 77-81.
SEE ALSO
pnmshear(1), pnmflip(1), pnm(5), ppmquant(1)
AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer.
12 January 1991 1
Back to the index