1Pnmshear User Manual(0)                                Pnmshear User Manual(0)
2
3
4

NAME

6       pnmshear - shear a PNM image by a specified angle
7
8

SYNOPSIS

10       pnmshear
11
12       [-noantialias] [-background=color] angle [pnmfile]
13
14       All  options  can  be abbreviated to their shortest unique prefix.  You
15       may use two hyphens instead of one to designate an option.  You may use
16       either  white  space  or  equals  signs  between an option name and its
17       value.
18
19

DESCRIPTION

21       This program is part of Netpbm(1).
22
23       pnmshear reads a PNM image as input and  shears  it  by  the  specified
24       angle  and  produce  a  PNM  image  as output.  If the input file is in
25       color, the output will be too, otherwise it  will  be  grayscale.   The
26       angle is in degrees (floating point), and measures this:
27
28           +-------+  +-------+
29           |       |  |\       \
30           |  OLD  |  | \  NEW  \
31           |       |  |an\       \
32           +-------+  |gle+-------+
33
34       If the angle is negative, it shears the other way:
35           +-------+  |-an+-------+
36           |       |  |gl/       /
37           |  OLD  |  |e/  NEW  /
38           |       |  |/       /
39           +-------+  +-------+
40
41       The angle should not get too close to 90 or -90, or the resulting image
42       will be unreasonably wide.
43
44       pnmshear does the shearing by looping over the source pixels  and  dis‐
45       tributing  fractions  to  each  of the destination pixels.  This has an
46       "anti-aliasing" effect - it avoids jagged edges and similar  artifacts.
47       However,  it also means that the original colors in the image are modi‐
48       fied and there are typically more of them than you  started  with.   If
49       you need to keep precisely the same set of colors, see the -noantialias
50       option.  If the expanded palette is a problem, you can run  the  result
51       through pnmquant.
52
53

OPTIONS

55       -background=color
56              This determines the color of the background on which the sheared
57              image sits.
58
59              Specify the color (color) as described for the argument  of  the
60              pnm_parsecolor()                 library                 routine
61              ⟨libnetpbm_image.html#colorname⟩ .
62
63              By default, if you don't specify this option,  pnmshear  selects
64              what  appears  to  it to be the background color of the original
65              image.  It determines this color rather simplistically, by  tak‐
66              ing  an  average  of  the  colors  of the two top corners of the
67              image.
68
69              This option was new in Netpbm  10.37  (December  2006).   Before
70              that, pnmshear always behaved as is the default now.
71
72
73       -noantialias
74              This option forces pnmshear to simply move pixels around instead
75              of synthesizing output pixels from multiple input  pixels.   The
76              latter  could cause the output to contain colors that are not in
77              the input, which may not be desirable.  It also  probably  makes
78              the  output  contain  a  large  number of colors.  If you need a
79              small number of colors, but it doesn't matter if  they  are  the
80              exact ones from the input, consider using pnmquant on the output
81              instead of using -noantialias.
82
83              Note that to ensure the output does not contain colors that  are
84              not  in  the input, you also must consider the background color.
85              See the -background option.
86
87
88
89

SEE ALSO

91       pnmrotate(1), pamflip(1), pnmquant(1), pnm(1)
92
93
94

AUTHOR

96       Copyright (C) 1989, 1991 by Jef Poskanzer.
97

DOCUMENT SOURCE

99       This manual page was generated by the Netpbm tool 'makeman'  from  HTML
100       source.  The master documentation is at
101
102              http://netpbm.sourceforge.net/doc/pnmshear.html
103
104netpbm documentation           27 November 2006        Pnmshear User Manual(0)
Impressum