.TH pnmrotate 1 "12 January 1991" .IX pnmrotate .SH NAME pnmrotate - rotate a portable anymap by some angle .SH SYNOPSIS .B pnmrotate .RB [ -noantialias ] .I angle .RI [ pnmfile ] .SH DESCRIPTION Reads a portable anymap as input. Rotates it by the specified angle and produces a portable anymap as output. .IX rotation If the input file is in color, the output will be too, otherwise 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 .I pnmflip .IX pnmflip to do a 90 degree rotation and then .I pnmrotate less than 45 degrees back the other direction .PP The rotation algorithm is Alan Paeth's three-shear method. Each shear is implemented by looping over the source pixels and distributing fractions to each of the destination pixels. This has an "anti-aliasing" effect - it avoids jagged edges and similar artifacts. .IX anti-aliasing 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 .B -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 .IR ppmquant . .IX ppmquant .PP All flags can be abbreviated to their shortest unique prefix. .SH REFERENCES "A Fast Algorithm for General Raster Rotation" by Alan Paeth, Graphics Interface '86, pp. 77-81. .SH "SEE ALSO" pnmshear(1), pnmflip(1), pnm(5), ppmquant(1) .SH AUTHOR Copyright (C) 1989, 1991 by Jef Poskanzer. .\" Permission to use, copy, modify, and distribute this software and its .\" documentation for any purpose and without fee is hereby granted, provided .\" that the above copyright notice appear in all copies and that both that .\" copyright notice and this permission notice appear in supporting .\" documentation. This software is provided "as is" without express or .\" implied warranty.