# pnmcomp

Updated: 17 July 2002
Index

## NAME

pnmcomp - composite (overlay) two PNM images together

## SYNOPSIS

pnmcomp [ -xoff=X | -align={left,center,right} ]
[ -yoff=Y | -valign={top,middle,bottom} ]
[-alpha=alpha-pgmfile] [-invert] [-opacity=opacity]
overlay_file [underlying_file [output_file]]

Minimum unique abbreviations are acceptable.

## 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 image in the file overlay_file on top of the image in the file underlying_file, blocking out the part of underlying_file beneath it.

If you add the -alpha option, then pnmcomp uses the image in file alpha-pgmfile 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. (Like any Netpbm program, pnmcomp will see a PBM file as if it is PGM).

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

-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.
-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.
-opacity=opacity
  This option tells how opaque the overlay image is to be, i.e. how much of the composite image should be from the overlay image, as opposed to the underlying image. opacity is a floating point number, with 1.0 meaning the overlay image is totally opaque and 0.0 meaning it is totally transparent. The default is 1.0.

  If you specify an alpha mask (the -alpha option), pnmcomp uses the product of the opacity indicated by the alpha mask (as modified by the -invert option, as a fraction, and this opacity value. The -invert option does not apply to this opacity value.

  This option was added in Netpbm 10.6 (July 2002).

## SEE ALSO

ppmmix and pnmpaste are simpler, less general versions of the same tool.

pnm, pbmmask

## AUTHOR

Copyright (C) 1992 by David Koblas (koblas@mips.com).

## Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
SEE ALSO
AUTHOR