Class 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

      Constructors 
      Constructor Description
      CompositeImage​(java.awt.image.BufferedImage baseImage, java.awt.image.BufferedImage smaskImage)
      Standard constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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