dwww Home | Manual pages | Find package

Pnmshear User Manual(1)     General Commands Manual    Pnmshear User Manual(1)

NAME
       pnmshear - shear a PNM image by a specified angle

SYNOPSIS
       pnmshear

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

       All  options  can  be abbreviated to their shortest unique prefix.  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(1).

       pnmshear reads a PNM image as input and shears it by the specified  an-
       gle  and produce a PNM image 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\       \
           +-------+  |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 image
       will be unreasonably wide.  In fact, if it gets too  close,  the  width
       will be so large that pnmshear cannot do computations in the word sizes
       it uses, and the program detects this and fails.

       pnmshear does the shearing by looping over the source pixels  and  dis-
       tributing  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 in the image are modi-
       fied and there are typically more of them than you  started  with.   If
       you need to keep precisely the same set of colors, see the -noantialias
       option.  If the expanded palette is a problem, you can run  the  result
       through pnmquant.

OPTIONS
       In  addition  to  the options common to all programs based on libnetpbm
       (most notably -quiet, see
        Common Options ⟨index.html#commonoptions⟩ ), pnmshear  recognizes  the
       following command line options:

       -background=color
              This determines the color of the background on which the sheared
              image sits.

              Specify the color (color) as described for the argument  of  the
              pnm_parsecolor()                 library                 routine
              ⟨libnetpbm_image.html#colorname⟩ .

              By default, if you don't specify this option,  pnmshear  selects
              what  appears  to  it to be the background color of the original
              image.  It determines this color rather simplistically, by  tak-
              ing  an  average of the colors of the two top corners of the im-
              age.

              This option was new in Netpbm  10.37  (December  2006).   Before
              that, pnmshear always behaved as is the default now.

       -noantialias
              This option forces pnmshear 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 -noantialias.

              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.

SEE ALSO
       pnmrotate(1), pamflip(1), pamhomography(1), pnmquant(1), pnm(1)

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

DOCUMENT SOURCE
       This manual page was generated by the Netpbm tool 'makeman'  from  HTML
       source.  The master documentation is at

              http://netpbm.sourceforge.net/doc/pnmshear.html

netpbm documentation             22 March 2020         Pnmshear User Manual(1)

Generated by dwww version 1.15 on Sat Jun 29 02:27:34 CEST 2024.