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.