Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


				   pnmrotate

   Updated: 30 August 2002
   Table Of Contents

NAME

   pnmrotate - rotate a PNM image by some angle

SYNOPSIS

   pnmrotate [-noantialias] [-background=color] angle [pnmfile]

   All	options	 can be abbreviated to their shortest unique pre-
fix. You may use
   two hyphens instead of one to designate an option. You may use
either white
   space or equals signs between an option name and its value.

DESCRIPTION

   This program is part of Netpbm. pnmrotate reads a PNM image as
input. It
   rotates it by the specified angle and produces the  same  kind
of PNM image as
   output.

   The	 input	is the file named by pnmfile or Standard Input if
you don't
   specify pnmfile. The output goes to Standard Output.

   The resulting image is a rectangle that contains the	 (rectan-
gular) input
   image  within it, rotated with respect to its bottom edge. The
containing
   rectangle  is  as  small as possible to  contain  the  rotated
image. The
   background	of   the  containing image is a single color that
pnmrotate
   determines to be the background color of the	 original  image,
or that you
   specify explicitly.

   angle   is  in  decimal  degrees  (floating	point),	 measured
counter-clockwise. It
   can be negative, but it should be between -90 and 90.

   You	should use pamflip instead for rotations that are a  mul-
tiple of a
   quarter turn. It is faster and more accurate.

   For	rotations  greater than 45 degrees you may get better re-
sults if you
   first use pamflip to do a 90 degree rotation and  then  pnmro-
tate 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 pixels 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  -noan-
tialias option.

   The	program	 runs  faster  and uses less real memory with the
-noantialias
   option. It uses a large amount of virtual memory  either  way,
as it keeps a
   copy of the input image and a copy of the output image in mem-
ory, using 12
   bytes per pixel for each. But with -noantialias,  it	 accesses
this memory
   sequentially	 in half a dozen passes, with only a few pages of
memory at a
   time required in real memory.

   In contrast, without -noantialias, the program's  real  memory
working set
   size	 is one page per input image row plus one page per output
image row.
   Before  Netpbm  10.16  (June	  2003),   -noantialias	 had  the
same memory
   requirement.

OPTIONS

   -background=color
	  This	determines  the	 color of the background on which
the rotated
	  image sits.
	  Specify  the color (color) as described for  the  argu-
ment of the
	  ppm_parsecolor() library routine.
	  By default, if you don't specify this option, pnmrotate
selects what
	  appears to it to be the background color of the  origi-
nal image. It
	  determines this color rather simplisticly, by taking an
average of
	  the colors of the two top corners of the image.
	  This option was new in Netpbm 10.l5. Before that,  pnm-
rotate always
	  behaved as is the default now.
   -noantialias
	  This	option	forces	pnmrotate  to  simply move pixels
around instead of
	  synthesizing output pixels from multiple input  pixels.
The latter
	  could	 cause	the output to contain colors that are not
in the input,
	  which may not be desirable. It also probably makes  the
output contain
	  a large number of colors. If you need a small number of
colors, but
	  it doesn't matter if they are the exact ones	from  the
input, consider
	  using	 pnmquant  on  the output instead of using -noan-
tialias.
	  Note that to ensure the output does not contain  colors
that are not
	  in  the  input,  you	also must consider the background
color. See the
	  -background option.



REFERENCES

   "A Fast Algorithm for General Raster Rotation" by Alan  Paeth,
Graphics
   Interface '86, pp. 77-81.

SEE ALSO

   pnmshear, pamflip, pnmquant, pnm

AUTHOR

   Copyright (C) 1989, 1991 by Jef Poskanzer.
     _________________________________________________________________



Table Of Contents

     * NAME
     * SYNOPSIS
     * DESCRIPTION
     * REFERENCES
     * SEE ALSO
     * AUTHOR










































UNIX/Linux commands referenced on this page:
  1. file
  2. pnmfile
  3. as
  4. pamflip
  5. more
  6. less
  7. at
  8. time
  9. top
  10. which
  11. pnmquant
  12. pnmshear