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

All Known Implementing Classes:
  ImageDecoderImpl

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

    public 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

    public 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

    public SeekableStream getInputStream()

  Returns the SeekableStream associated with this ImageDecoder.

### getNumPages

    public int getNumPages()
                    throws java.io.IOException

  Returns the number of pages present in the current stream.

  Throws:
    `java.io.IOException`

### decodeAsRaster

    public 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

    public 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

    public 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

    public 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 © 2004 Apache Software Foundation. All Rights Reserved.