summary refs log tree commit diff
path: root/pnmpaste.html
blob: 70d80cc232366d5863e0a50c57684fa8e2f64c7e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><TITLE>Pnmpaste User Manual</TITLE></HEAD>
<BODY>
<H1>pnmpaste</H1>
Updated: 21 February 1991
<BR>
<A HREF="#index">Table Of Contents</A>

<H2>NAME</H2>

pnmpaste - paste a rectangle into a PNM image

<H2 id="synopsis">SYNOPSIS</H2>

<B>pnmpaste</B>

[<B>-replace</B>|<B>-or</B>|<B>-and</B>|<B>-xor</B>]

<I>frompnmfile</i> <i>x</i> <i>y</I>
[<I>intopnmfile</I>]

<P>You can abbreviate all options to their shortest unique prefix.

<H2 id="description">DESCRIPTION</H2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><b>pnmpaste</b> reads two PNM images as input and inserts the first
image (the "pasted image") into the second (the "base image") at the
specified location, and produces a PNM image the same size and type as
the base image as output.  If you don't specify the second file,
<b>pnmpaste</b> reads the base image from Standard Input.

<p><i>x</i> and <i>y</i> specify the location in the base image at
which to put the top left corner of the pasted image, <i>x</i> giving
the horizontal position and <i>x</i> giving the vertical position.  A
nonnegative value indicates the number of pixels right of the right
edge or below the top edge of the base image, while a negative value
indicates the number of pixels right of the right edge or below the
bottom edge (so x = -5 means 5 pixels left of the right edge).

<P>If any part of the pasted image does not fit within the base image,
<b>pnmpaste</b> fails.

<p>This tool is most useful in combination with <I>pamcut</I>.  For
instance, if you want to edit a small segment of a large image, and
your image editor cannot edit the large image, you can cut out the
segment you are interested in, edit it, and then paste it back in.

<P>Another useful companion tool is <B>pbmmask</B>.

<P><B>pamcomp</B> is a more general tool, except that it lacks the
"or," "and," and "xor" functions.
<B>pamcomp</B> allows you to specify a transparency mask in order to have
only part of the inserted image get inserted.  So the inserted pixels
need not be a rectangle.  You can also have the inserted image be
translucent, so the resulting image is a mixture of the inserted image
and the base image.

<H2 id="options">OPTIONS</H2>

<P>The option specifies the operation to use when doing the paste.
The default is <B>-replace</B>, which means to do the obvious paste:
replace pixels of the "into" image with those of the
"from" image.

<p><b>-and</b>, <b>-or</b>, and <b>-xor</b> are allowed only if both
input images are PBM images.  They say to combine the "from" and
"into" images by performing boolean operations:  Each pixel of
the output image is the result of the boolean operation on the corresponding
pixels of the two input image, where white is TRUE and black is FALSE.

<p>Note that this is different from what you would get by doing a bit
arithmetic on the bits in the PBM images, because in PBM, white is
represented by a 0 bit, and 0 in bit arithmetic corresponds to FALSE
in boolean arithmetic.

<H2 id="seealso">SEE ALSO</H2>

<B><A HREF="pamcomp.html">pamcomp</A></B>,
<B><A HREF="pamcut.html">pamcut</A></B>,
<B><A HREF="pnminvert.html">pnminvert</A></B>,
<B><A HREF="pnmarith.html">pnmarith</A></B>,
<B><A HREF="pbmmask.html">pbmmask</A></B>,
<B><A HREF="pnm.html">pnm</A></B>

<H2 id="author">AUTHOR</H2>

Copyright (C) 1989, 1991 by Jef Poskanzer.


<HR>
<H2 id="index">Table Of Contents</H2>
<UL>
<LI><A HREF="#synopsis">SYNOPSIS</A>
<LI><A HREF="#description">DESCRIPTION</A>
<LI><A HREF="#options">OPTIONS</A>
<LI><A HREF="#seealso">SEE ALSO</A>
<LI><A HREF="#author">AUTHOR</A>
</UL>
</BODY>
</HTML>