public class IIOImage extends Object
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.
ImageReader.readAll(int, ImageReadParam)
, ImageReader.readAll(java.util.Iterator)
, ImageWriter.write(javax.imageio.metadata.IIOMetadata,
IIOImage, ImageWriteParam)
, ImageWriter.write(IIOImage)
, ImageWriter.writeToSequence(IIOImage, ImageWriteParam)
, ImageWriter.writeInsert(int, IIOImage, ImageWriteParam)
protected RenderedImage image
The RenderedImage
being referenced.
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
.
protected IIOMetadata metadata
An IIOMetadata
object containing metadata associated with the image.
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.
image
- a RenderedImage
.thumbnails
- a List
of BufferedImage
s, or null
.metadata
- an IIOMetadata
object, or null
.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.
raster
- a Raster
.thumbnails
- a List
of BufferedImage
s, or null
.metadata
- an IIOMetadata
object, or null
.IllegalArgumentException
- if raster
is null
.public RenderedImage getRenderedImage()
Returns the currently set RenderedImage
, or null
if only a Raster
is available.
RenderedImage
, or null
.setRenderedImage(java.awt.image.RenderedImage)
public void setRenderedImage(RenderedImage image)
Sets the current RenderedImage
. The value is stored by reference. Any existing Raster
is discarded.
image
- a RenderedImage
.IllegalArgumentException
- if image
is null
.getRenderedImage()
public boolean hasRaster()
Returns true
if this IIOImage
stores a Raster
rather than a RenderedImage
.
true
if a Raster
is available.public Raster getRaster()
Returns the currently set Raster
, or null
if only a RenderedImage
is available.
Raster
, or null
.setRaster(java.awt.image.Raster)
public void setRaster(Raster raster)
Sets the current Raster
. The value is stored by reference. Any existing RenderedImage
is discarded.
raster
- a Raster
.IllegalArgumentException
- if raster
is null
.getRaster()
public int getNumThumbnails()
Returns the number of thumbnails stored in this IIOImage
.
int
.public BufferedImage getThumbnail(int index)
Returns a thumbnail associated with the main image.
index
- the index of the desired thumbnail image.BufferedImage
.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.getThumbnails()
, setThumbnails(java.util.List<? extends java.awt.image.BufferedImage>)
public List<? extends BufferedImage> getThumbnails()
Returns the current List
of thumbnail BufferedImage
s, or null
if none is set. A live reference is returned.
List
of BufferedImage
thumbnails, or null
.getThumbnail(int)
, setThumbnails(java.util.List<? extends java.awt.image.BufferedImage>)
public void setThumbnails(List<? extends BufferedImage> thumbnails)
Sets the list of thumbnails to a new List
of BufferedImage
s, or to null
. The reference to the previous List
is discarded.
The thumbnails
argument must either be null
or contain only BufferedImage
objects.
thumbnails
- a List
of BufferedImage
thumbnails, or null
.getThumbnail(int)
, getThumbnails()
public IIOMetadata getMetadata()
Returns a reference to the current IIOMetadata
object, or null
is none is set.
IIOMetadata
object, or null
.setMetadata(javax.imageio.metadata.IIOMetadata)
public void setMetadata(IIOMetadata metadata)
Sets the IIOMetadata
to a new object, or null
.
metadata
- an IIOMetadata
object, or null
.getMetadata()
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.