com.sun.media.jai.codec
Interface ImageDecoder

All Known Implementing Classes:
ImageDecoderImpl

public interface ImageDecoder

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

This interface is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.


Method Summary
 Raster decodeAsRaster()
          Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 Raster decodeAsRaster(int page)
          Returns a Raster that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 RenderedImage decodeAsRenderedImage()
          Returns a RenderedImage that contains the decoded contents of the SeekableStream associated with this ImageDecoder.
 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 IOException
Returns the number of pages present in the current stream.

Throws:
IOException

decodeAsRaster

public Raster decodeAsRaster()
                      throws 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:
IOException

decodeAsRaster

public Raster decodeAsRaster(int page)
                      throws 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:
IOException

decodeAsRenderedImage

public RenderedImage decodeAsRenderedImage()
                                    throws 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:
IOException

decodeAsRenderedImage

public RenderedImage decodeAsRenderedImage(int page)
                                    throws 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:
IOException