javax.imageio
Class IIOImage

java.lang.Object
  extended by javax.imageio.IIOImage

public class IIOImage
extends Object

IIOImage is a container class for components of an image file that stores image data, image metadata and thumbnails. The image data can be either a RenderedImage or a Raster but not both. Image readers that produce IIOImages will always produce BufferedImages from the RenderedImage field. Image writers that accept IIOImages will always accept RenderedImages and may optionally accept Rasters.


Field Summary
protected  RenderedImage image
          Image data as a RenderedImage.
protected  IIOMetadata metadata
          Image metadata.
protected  Raster raster
          Image data as a Raster.
protected  List<? extends BufferedImage> thumbnails
          A list of BufferedImage thumbnails of this image.
 
Constructor Summary
IIOImage(Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
          Construct an IIOImage containing raster image data, thumbnails and metadata.
IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
          Construct an IIOImage containing rendered image data, thumbnails and metadata.
 
Method Summary
 IIOMetadata getMetadata()
          Retrieve the image metadata or null if there is no metadata associated with this IIOImage.
 int getNumThumbnails()
          Retrieve the number of thumbnails in this IIOImage.
 Raster getRaster()
          Retrieve the raster image data stored in this IIOImage or null if this image stores data using the RenderedImage representation.
 RenderedImage getRenderedImage()
          Retrieve the rendered image data stored in this IIOImage or null if this image stores data using the Raster representation.
 BufferedImage getThumbnail(int index)
          Retrieve the thumbnail stored at the specified index in the thumbnails list.
 List<? extends BufferedImage> getThumbnails()
          Retrieve the list of thumbnails or null if there are no thumbnails associated with this IIOImage.
 boolean hasRaster()
          Check whether this IIOImage stores its image data as a Raster or as a RenderedImage.
 void setMetadata(IIOMetadata metadata)
          Set this IIOImage's metadata.
 void setRaster(Raster raster)
          Set the raster data for this image.
 void setRenderedImage(RenderedImage image)
          Set the rendered image data for this image.
 void setThumbnails(List<? extends BufferedImage> thumbnails)
          Set the list of thumbnails for this IIOImage to a new list of BufferedImages or to null.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

image

protected RenderedImage image
Image data as a RenderedImage. null if this IIOImage uses the Raster representation.


metadata

protected IIOMetadata metadata
Image metadata.


raster

protected Raster raster
Image data as a Raster. null if this IIOImage uses the RenderedImage representation.


thumbnails

protected List<? extends BufferedImage> thumbnails
A list of BufferedImage thumbnails of this image.

Constructor Detail

IIOImage

public IIOImage(Raster raster,
                List<? extends BufferedImage> thumbnails,
                IIOMetadata metadata)
Construct an IIOImage containing raster image data, thumbnails and metadata.

Parameters:
raster - image data
thumbnails - a list of BufferedImage thumbnails or null
metadata - image metadata or null
Throws:
IllegalArgumentException - if raster is null

IIOImage

public IIOImage(RenderedImage image,
                List<? extends BufferedImage> thumbnails,
                IIOMetadata metadata)
Construct an IIOImage containing rendered image data, thumbnails and metadata.

Parameters:
image - rendered image data
thumbnails - a list of BufferedImage thumbnails or null
metadata - image metadata or null
Throws:
IllegalArgumentException - if image is null
Method Detail

getMetadata

public IIOMetadata getMetadata()
Retrieve the image metadata or null if there is no metadata associated with this IIOImage.

Returns:
image metadata or null

getNumThumbnails

public int getNumThumbnails()
Retrieve the number of thumbnails in this IIOImage.

Returns:
the number of thumbnails

getRaster

public Raster getRaster()
Retrieve the raster image data stored in this IIOImage or null if this image stores data using the RenderedImage representation.

Returns:
the raster image data or null

getRenderedImage

public RenderedImage getRenderedImage()
Retrieve the rendered image data stored in this IIOImage or null if this image stores data using the Raster representation.

Returns:
the rendered image data or null

getThumbnail

public BufferedImage getThumbnail(int index)
Retrieve the thumbnail stored at the specified index in the thumbnails list.

Parameters:
index - the index of the thumbnail to retrieve
Returns:
the buffered image thumbnail
Throws:
IndexOutOfBoundsException - if index is out-of-bounds
ClassCastException - if the object returned from the thumbnails list is not a BufferedImage

getThumbnails

public List<? extends BufferedImage> getThumbnails()
Retrieve the list of thumbnails or null if there are no thumbnails associated with this IIOImage. The returned reference can be used to update the thumbnails list.

Returns:
a list of thumbnails or null

hasRaster

public boolean hasRaster()
Check whether this IIOImage stores its image data as a Raster or as a RenderedImage.

Returns:
true if this IIOImage uses the Raster representation, false if it uses the RenderedImage representation.

setMetadata

public void setMetadata(IIOMetadata metadata)
Set this IIOImage's metadata.

Parameters:
metadata - the image metadata

setRaster

public void setRaster(Raster raster)
Set the raster data for this image. This disposes of any existing rendered image data stored in this IIOImage.

Parameters:
raster - the image raster data
Throws:
IllegalArgumentException - if raster is null

setRenderedImage

public void setRenderedImage(RenderedImage image)
Set the rendered image data for this image. This disposes of any existing raster data stored in this IIOImage.

Parameters:
image - the rendered image data
Throws:
IllegalArgumentException - if image is null

setThumbnails

public void setThumbnails(List<? extends BufferedImage> thumbnails)
Set the list of thumbnails for this IIOImage to a new list of BufferedImages or to null. Any existing thumbnails list is disposed.

Parameters:
thumbnails - a new list of thumbnails or null