public class

IIOImage

extends Object
java.lang.Object
   ↳ javax.imageio.IIOImage

Class Overview

A simple container class to aggregate an image, a set of thumbnail (preview) images, and an object representing metadata associated with the image.

The image data may take the form of either a RenderedImage, or a Raster. Reader methods that return an IIOImage will always return a BufferedImage using the RenderedImage reference. Writer methods that accept an IIOImage will always accept a RenderedImage, and may optionally accept a Raster.

Exactly one of getRenderedImage and getRaster will return a non-null value. Subclasses are responsible for ensuring this behavior.

Summary

Fields
protected RenderedImage image The RenderedImage being referenced.
protected IIOMetadata metadata An IIOMetadata object containing metadata associated with the image.
protected Raster raster The Raster being referenced.
protected List<? extends BufferedImage> thumbnails A List of BufferedImage thumbnails, or null.
Public Constructors
IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
Constructs an IIOImage containing a RenderedImage, and thumbnails and metadata associated with it.
IIOImage(Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
Constructs an IIOImage containing a Raster, and thumbnails and metadata associated with it.
Public Methods
IIOMetadata getMetadata()
Returns a reference to the current IIOMetadata object, or null is none is set.
int getNumThumbnails()
Returns the number of thumbnails stored in this IIOImage.
Raster getRaster()
Returns the currently set Raster, or null if only a RenderedImage is available.
RenderedImage getRenderedImage()
Returns the currently set RenderedImage, or null if only a Raster is available.
BufferedImage getThumbnail(int index)
Returns a thumbnail associated with the main image.
List<? extends BufferedImage> getThumbnails()
Returns the current List of thumbnail BufferedImages, or null if none is set.
boolean hasRaster()
Returns true if this IIOImage stores a Raster rather than a RenderedImage.
void setMetadata(IIOMetadata metadata)
Sets the IIOMetadata to a new object, or null.
void setRaster(Raster raster)
Sets the current Raster.
void setRenderedImage(RenderedImage image)
Sets the current RenderedImage.
void setThumbnails(List<? extends BufferedImage> thumbnails)
Sets the list of thumbnails to a new List of BufferedImages, or to null.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

protected RenderedImage image

The RenderedImage being referenced.

protected IIOMetadata metadata

An IIOMetadata object containing metadata associated with the image.

protected Raster raster

The Raster being referenced.

protected List<? extends BufferedImage> thumbnails

A List of BufferedImage thumbnails, or null. Non-BufferedImage objects must not be stored in this List.

Public Constructors

public IIOImage (RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)

Constructs an IIOImage containing a RenderedImage, and thumbnails and metadata associated with it.

All parameters are stored by reference.

The thumbnails argument must either be null or contain only BufferedImage objects.

Parameters
image a RenderedImage.
thumbnails a List of BufferedImages, or null.
metadata an IIOMetadata object, or null.
Throws
IllegalArgumentException if image is null.

public IIOImage (Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)

Constructs an IIOImage containing a Raster, and thumbnails and metadata associated with it.

All parameters are stored by reference.

Parameters
raster a Raster.
thumbnails a List of BufferedImages, or null.
metadata an IIOMetadata object, or null.
Throws
IllegalArgumentException if raster is null.

Public Methods

public IIOMetadata getMetadata ()

Returns a reference to the current IIOMetadata object, or null is none is set.

Returns
  • an IIOMetadata object, or null.

public int getNumThumbnails ()

Returns the number of thumbnails stored in this IIOImage.

Returns
  • the number of thumbnails, as an int.

public Raster getRaster ()

Returns the currently set Raster, or null if only a RenderedImage is available.

Returns
  • a Raster, or null.

public RenderedImage getRenderedImage ()

Returns the currently set RenderedImage, or null if only a Raster is available.

Returns
  • a RenderedImage, or null.

public BufferedImage getThumbnail (int index)

Returns a thumbnail associated with the main image.

Parameters
index the index of the desired thumbnail image.
Returns
  • a thumbnail image, as a BufferedImage.
Throws
IndexOutOfBoundsException if the supplied index is negative or larger than the largest valid index.
ClassCastException if a non-BufferedImage object is encountered in the list of thumbnails at the given index.

public List<? extends BufferedImage> getThumbnails ()

Returns the current List of thumbnail BufferedImages, or null if none is set. A live reference is returned.

Returns
  • the current List of BufferedImage thumbnails, or null.

public boolean hasRaster ()

Returns true if this IIOImage stores a Raster rather than a RenderedImage.

Returns
  • true if a Raster is available.

public void setMetadata (IIOMetadata metadata)

Sets the IIOMetadata to a new object, or null.

Parameters
metadata an IIOMetadata object, or null.
See Also

public void setRaster (Raster raster)

Sets the current Raster. The value is stored by reference. Any existing RenderedImage is discarded.

Parameters
raster a Raster.
Throws
IllegalArgumentException if raster is null.
See Also

public void setRenderedImage (RenderedImage image)

Sets the current RenderedImage. The value is stored by reference. Any existing Raster is discarded.

Parameters
image a RenderedImage.
Throws
IllegalArgumentException if image is null.

public void setThumbnails (List<? extends BufferedImage> thumbnails)

Sets the list of thumbnails to a new List of BufferedImages, or to null. The reference to the previous List is discarded.

The thumbnails argument must either be null or contain only BufferedImage objects.

Parameters
thumbnails a List of BufferedImage thumbnails, or null.