pnmcomp
composite (overlay) two portable anymap files together
see also :
ppmmix - pnmpaste - pbmmask
Synopsis
pnmcomp
[-xoff=X |
-align={left,center,right}]
[-yoff=Y |
-valign={top,middle,bottom}]
[-alpha=alpha-pgmfile] [-invert]
overlay [pnm-input] [pnm-output]
Minimum unique
abbreviations are acceptable.
add an example, a script, a trick and tips
examples
source
mv tmp.pbm grid.pbm
pnmscale $picture_size red_pixel.ppm
>red_block.ppm
pnmcomp -alpha=grid.pbm
red_block.ppm $result.pnm|pnm2png
\
source
ppmchange rgb:47/6c/6c rgb:48/6c/6c | \
pnmcomp -alpha=/tmp/et$$.pbm background.ppm
> /tmp/et-2$$.ppm
ppmquant -map palette.ppm /tmp/et$$.ppm
2> /dev/null | \
ppmchange rgb:47/6c/6c rgb:48/6c/6c | \
pnmcomp -alpha=/tmp/et$$.pbm background.ppm
> /tmp/et-2$$.ppm
source
echo "+++
$MAKEPATCH" >> $MAKEPATCH
MAKEPATCH_ENTRIES=
if [ $dir = "general" ] ; then
MAKEPATCH_ENTRIES=" \tg.pnmcomp \0134\n
\tg.region \0134\n \tg.setproj \0134\n"
description
pnmcomp
reads two images and produces a composite image with one of
the images overlayed on top of the other. The images need
not be the same size. The input and outputs are PNM format
image files.
In its simplest
use, pnmcomp simply places the overlay file on
top of the pnm-input file, blocking out the part of
the pnm-input file beneath it. If you specify the
alpha-pgmfile, pnmcomp uses it as an alpha
mask, which means it determines the level of transparency of
each point in the overlay image. The alpha mask must have
the same dimensions as the overlay image. In places where
the alpha mask defines the overlay image to be opaque, the
composite output contains only the contents of the overlay
image; the underlying image is totally blocked out. In
places where the alpha mask defines the overlay image to be
transparent, the composite output contains none of the
overlay image; the underlying image shows through
completely. In places where the alpha mask shows a value in
between opaque and transparent (translucence), the composite
image contains a mixture of the overlay image and the
underlying image and the level of translucence determines
how much of each.
The alpha mask
is a PGM file in which a white pixel represents opaqueness
and a black pixel transparency. Anything in between is
translucent.
In some image
file formats (PNG, for example), transparency information
(the alpha mask) is part of the definition of the image. In
the PNM formats, transparency is always embodied in a
separate companion file. The PNM converter programs that
convert from an image format such as PNG have options that
allow you to extract the transparency information to a
separate file, which you can then use as input to
pnmcomp.
The output
image is always of the same dimensions as the underlying
image. pnmcomp only uses parts of the overlay image
that fit within the underlying image.
To specify
where on the underlying image to place the overlay image,
use the -xoff, -yoff, -align, and
-valign options. Without these options, the default
horizontal position is flush left and the default vertical
position is flush top.
The overlay and
underlying images may be of different formats (e.g.
overlaying a PBM text image over a full color PPM image) and
have different maxvals. The output image has the more
general of the two input formats and a maxval that is the
least common multiple the two maxvals (or the maximum maxval
allowable by the format, if the LCM is more than that).
options
-invert
This option inverts the sense
of the values in the alpha mask, which effectively switches
the roles of the overlay image and the underlying image in
places where the two intersect.
-xoff X
-yoff Y
These options position the
overlay image with respect to the underlying image. X
and Y are the horizontal and vertical displacements
of the top left corner of the overlay image from the top
left corner of the underlying image, in pixels. A positive
value means right or down; a negative value means left or
up. The overlay need not fit entirely (or at all) on the
underlying image. pnmcomp uses only the parts that
lie over the underlying image.
-align=[left,center,right]
This option is an alternative
to -xoff, in the style of HTML. It selects the
horizontal position of the overlay image so that it is flush
left, centered, or flush right on the underlying image.
-valign=[top,middle,bottom]
This option is an alternative
to -yoff, in the style of HTML. It selects the
vertical position of the overlay image so that it is flush
top, centered, or flush bottom on the underlying image.
see also
ppmmix
and pnmpaste are simpler, less general versions of
the same tool.
pnm,
pbmmask
author
Copyright (C)
1992 by David Koblas (koblas[:at:]mips[:dot:]com).