Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><TITLE>Pnmpaste User Manual</TITLE></HEAD>
<BODY>
<H1>pnmpaste</H1>
Updated: 05 July 2017
<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.

<p>Either file name argument (but not both) may be &quot;-&quot; to indicate
Standard Input.  If you don't specify the second file argument at all, that's
the same as &quot;-&quot;.

<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>