## org.apache.batik.ext.awt.image.codec.util
Interface ImageDecoder

All Known Implementing Classes:
  ImageDecoderImpl, PNGImageDecoder, TIFFImageDecoder

    public interface ImageDecoder

An interface describing objects that transform an InputStream into a BufferedImage or Raster.

Method Summary
`java.awt.image.Raster` `decodeAsRaster()` Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
`java.awt.image.Raster` `decodeAsRaster(int page)` Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
`java.awt.image.RenderedImage` `decodeAsRenderedImage()` Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
`java.awt.image.RenderedImage` `decodeAsRenderedImage(int page)` Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
`SeekableStream` `getInputStream()` Returns the SeekableStream associated with this ImageDecoder.
`int` `getNumPages()` Returns the number of pages present in the current stream.
`ImageDecodeParam` `getParam()` Returns the current parameters as an instance of the ImageDecodeParam interface.
`void` `setParam(ImageDecodeParam param)` Sets the current parameters to an instance of the ImageDecodeParam interface.

Method Detail

### getParam

    ImageDecodeParam getParam()

  Returns the current parameters as an instance of the ImageDecodeParam interface. Concrete implementations of this interface will return corresponding concrete implementations of the ImageDecodeParam interface. For example, a JPEGImageDecoder will return an instance of JPEGDecodeParam.

### setParam

    void setParam(ImageDecodeParam param)

  Sets the current parameters to an instance of the ImageDecodeParam interface. Concrete implementations of ImageDecoder may throw a RuntimeException if the param argument is not an instance of the appropriate subclass or subinterface. For example, a JPEGImageDecoder will expect param to be an instance of JPEGDecodeParam.

### getInputStream

    SeekableStream getInputStream()

  Returns the SeekableStream associated with this ImageDecoder.

### getNumPages

    int getNumPages()
                    throws java.io.IOException

  Returns the number of pages present in the current stream.

  Throws:
    `java.io.IOException`

### decodeAsRaster

    java.awt.image.Raster decodeAsRaster()
                                         throws java.io.IOException

  Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder. Only the first page of a multi-page image is decoded.

  Throws:
    `java.io.IOException`

### decodeAsRaster

    java.awt.image.Raster decodeAsRaster(int page)
                                         throws java.io.IOException

  Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder. The given page of a multi-page image is decoded. If the page does not exist, an IOException will be thrown. Page numbering begins at zero.

  Parameters:
    `page` - The page to be decoded.
  Throws:
    `java.io.IOException`

### decodeAsRenderedImage

    java.awt.image.RenderedImage decodeAsRenderedImage()
                                                       throws java.io.IOException

  Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder. Only the first page of a multi-page image is decoded.

  Throws:
    `java.io.IOException`

### decodeAsRenderedImage

    java.awt.image.RenderedImage decodeAsRenderedImage(int page)
                                                       throws java.io.IOException

  Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder. The given page of a multi-page image is decoded. If the page does not exist, an IOException will be thrown. Page numbering begins at zero.

  Parameters:
    `page` - The page to be decoded.
  Throws:
    `java.io.IOException`

Copyright © 2008 Apache Software Foundation. All Rights Reserved.