org.apache.pdfbox.pdmodel.graphics.xobject
Class CompositeImage

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.graphics.xobject.CompositeImage

public class CompositeImage
extends java.lang.Object

This class is responsible for combining a base image with an SMask-based transparency image to form a composite image. See section 11.5 of the pdf specification for details on Soft Masks.

Briefly however, an Smask is a supplementary greyscale image whose RGB-values define a transparency mask which, when combined appropriately with the base image, allows per-pixel transparency to be applied.

Note that Smasks are not required for any image and if the smask is not present in the pdf file, the image will have no transparent pixels.

Author:
Neil McErlean

Constructor Summary
CompositeImage(java.awt.image.BufferedImage baseImage, java.awt.image.BufferedImage smaskImage)
          Standard constructor.
 
Method Summary
 java.awt.image.BufferedImage createMaskedImage(COSArray decodeArray)
          This method applies the specified transparency mask to a given image and returns a new BufferedImage whose alpha values are computed from the transparency mask (smask) image.
 java.awt.image.BufferedImage createStencilMaskedImage(COSArray decodeArray)
          This method applies the specified stencil mask to a given image and returns a new BufferedImage whose alpha values are computed from the stencil mask (smask) image.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeImage

public CompositeImage(java.awt.image.BufferedImage baseImage,
                      java.awt.image.BufferedImage smaskImage)
Standard constructor.

Parameters:
baseImage - the base Image.
smaskImage - the transparency image.
Method Detail

createMaskedImage

public java.awt.image.BufferedImage createMaskedImage(COSArray decodeArray)
                                               throws java.io.IOException
This method applies the specified transparency mask to a given image and returns a new BufferedImage whose alpha values are computed from the transparency mask (smask) image.

Parameters:
decodeArray - the decode array
Returns:
the masked image
Throws:
java.io.IOException - if something went wrong

createStencilMaskedImage

public java.awt.image.BufferedImage createStencilMaskedImage(COSArray decodeArray)
This method applies the specified stencil mask to a given image and returns a new BufferedImage whose alpha values are computed from the stencil mask (smask) image.

Parameters:
decodeArray - the decode array
Returns:
the stencil masked image