Class PDFImage

java.lang.Object
com.sun.pdfview.PDFImage

public class PDFImage extends Object
Encapsulates a PDF Image
  • Field Details

    • colorKeyMask

      private int[] colorKeyMask
      color key mask. Array of start/end pairs of ranges of color components to mask out. If a component falls within any of the ranges it is clear.
    • width

      private int width
      the width of this image in pixels
    • height

      private int height
      the height of this image in pixels
    • colorSpace

      private PDFColorSpace colorSpace
      the colorspace to interpret the samples in
    • bpc

      private int bpc
      the number of bits per sample component
    • imageMask

      private boolean imageMask
      whether this image is a mask or not
    • sMask

      private PDFImage sMask
      the SMask image, if any
    • decode

      private float[] decode
      the decode array
    • imageObj

      private PDFObject imageObj
      the actual image data
  • Constructor Details

    • PDFImage

      protected PDFImage(PDFObject imageObj)
      Create an instance of a PDFImage
  • Method Details

    • dump

      public static void dump(PDFObject obj) throws IOException
      Throws:
      IOException
    • p

      public static void p(String string)
    • createImage

      public static PDFImage createImage(PDFObject obj, Map resources) throws IOException
      Read a PDFImage from an image dictionary and stream
      Parameters:
      obj - the PDFObject containing the image's dictionary and stream
      resources - the current resources
      Throws:
      IOException
    • getImage

      public BufferedImage getImage()
      Get the image that this PDFImage generates.
      Returns:
      a buffered image containing the decoded image data
    • parseData

      protected BufferedImage parseData(byte[] data)

      Parse the image stream into a buffered image. Note that this is guaranteed to be called after all the other setXXX methods have been called.

      NOTE: the color convolving is extremely slow on large images. It would be good to see if it could be moved out into the rendering phases, where we might be able to scale the image down first.invalid input: '<'/p

    • getWidth

      public int getWidth()
      Get the image's width
    • setWidth

      protected void setWidth(int width)
      Set the image's width
    • getHeight

      public int getHeight()
      Get the image's height
    • setHeight

      protected void setHeight(int height)
      Set the image's height
    • setColorKeyMask

      private void setColorKeyMask(PDFObject maskArrayObject) throws IOException
      set the color key mask. It is an array of start/end entries to indicate ranges of color indicies that should be masked out.
      Parameters:
      maskArrayObject -
      Throws:
      IOException
    • getColorSpace

      protected PDFColorSpace getColorSpace()
      Get the colorspace associated with this image, or null if there isn't one
    • setColorSpace

      protected void setColorSpace(PDFColorSpace colorSpace)
      Set the colorspace associated with this image
    • getBitsPerComponent

      protected int getBitsPerComponent()
      Get the number of bits per component sample
    • setBitsPerComponent

      protected void setBitsPerComponent(int bpc)
      Set the number of bits per component sample
    • isImageMask

      public boolean isImageMask()
      Return whether or not this is an image mask
    • setImageMask

      public void setImageMask(boolean imageMask)
      Set whether or not this is an image mask
    • getSMask

      public PDFImage getSMask()
      Return the soft mask associated with this image
    • setSMask

      protected void setSMask(PDFImage sMask)
      Set the soft mask image
    • getDecode

      protected float[] getDecode()
      Get the decode array
    • setDecode

      protected void setDecode(float[] decode)
      Set the decode array
    • getColorModel

      private ColorModel getColorModel()
      get a Java ColorModel consistent with the current color space, number of bits per component and decode array
      Parameters:
      bpc - the number of bits per component
    • normalize

      private float[] normalize(byte[] pixels, float[] normComponents, int normOffset)
      Normalize an array of values to match the decode array