com.sun.pdfview

## Class PDFImage

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

    public class PDFImage
    extends java.lang.Object

Encapsulates a PDF Image

### Constructor Summary

Constructors
`protected` `PDFImage(PDFObject imageObj)` Create an instance of a PDFImage

### Method Summary

Methods
`static PDFImage` `createImage(PDFObject obj, java.util.Map resources)` Read a PDFImage from an image dictionary and stream
`static void` `dump(PDFObject obj)`
`protected int` `getBitsPerComponent()` Get the number of bits per component sample
`protected PDFColorSpace` `getColorSpace()` Get the colorspace associated with this image, or null if there isn't one
`protected float[]` `getDecode()` Get the decode array
`int` `getHeight()` Get the image's height
`java.awt.image.BufferedImage` `getImage()` Get the image that this PDFImage generates.
`PDFImage` `getSMask()` Return the soft mask associated with this image
`int` `getWidth()` Get the image's width
`boolean` `isImageMask()` Return whether or not this is an image mask
`static void` `p(java.lang.String string)`
`protected java.awt.image.BufferedImage` `parseData(byte[] data, java.nio.ByteBuffer jpegData)` Parse the image stream into a buffered image.
`protected void` `setBitsPerComponent(int bpc)` Set the number of bits per component sample
`protected void` `setColorSpace(PDFColorSpace colorSpace)` Set the colorspace associated with this image
`protected void` `setDecode(float[] decode)` Set the decode array
`protected void` `setHeight(int height)` Set the image's height
`void` `setImageMask(boolean imageMask)` Set whether or not this is an image mask
`protected void` `setSMask(PDFImage sMask)` Set the soft mask image
`protected void` `setWidth(int width)` Set the image's width

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PDFImage

    protected PDFImage(PDFObject imageObj)

Create an instance of a PDFImage

### Method Detail

#### dump

    public static void dump(PDFObject obj)
                     throws java.io.IOException

Throws:
  `java.io.IOException`

#### p

    public static void p(java.lang.String string)

#### createImage

    public static PDFImage createImage(PDFObject obj,
                       java.util.Map resources)
                                throws java.io.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:
  `java.io.IOException`

#### getImage

    public java.awt.image.BufferedImage getImage()

Get the image that this PDFImage generates.

Returns:
  a buffered image containing the decoded image data

#### parseData

    protected java.awt.image.BufferedImage parseData(byte[] data,
                                         java.nio.ByteBuffer jpegData)
                                              throws java.io.IOException

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.</p</div>

Parameters:
  `data` - the data when already completely filtered and uncompressed
  `jpegData` - a byte buffer if data still requiring the DCDTecode filter is being used
Throws:
  `java.io.IOException`

#### 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

#### 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