pnmshear - shear a portable anymap by some angle
pnmshear [__-noantialias__? angle
Reads a portable anymap as input. Shears it by the specified
angle and produces a portable anymap as output. If the input
file is in color, the output will be too, otherwise it will
be grayscale. The angle is in degrees (floating point), and
- measures this
| | |\ \
| OLD | | \ NEW \
| | |an\ \
- If the angle is negative, it shears the other way
| | |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 destination
pixels. This has an
- 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 number of colors, you can
run the result through ppmquant.
All flags can be abbreviated to their shortest unique
pnmrotate(1), pnmflip(1), pnm(5), ppmquant(1)
Copyright (C) 1989, 1991 by Jef Poskanzer.