public class IIOImage extends Object
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)
Modifier and Type | Field and Description |
---|---|
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 . |
Constructor and Description |
---|
IIOImage(Raster raster,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata)
Constructs an
IIOImage containing a
Raster , and thumbnails and metadata
associated with it. |
IIOImage(RenderedImage image,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata)
Constructs an
IIOImage containing a
RenderedImage , and thumbnails and metadata
associated with it. |
Modifier and Type | Method and Description |
---|---|
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
BufferedImage s, 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
BufferedImage s, or to null . |
protected RenderedImage image
RenderedImage
being referenced.protected Raster raster
Raster
being referenced.protected List<? extends BufferedImage> thumbnails
List
of BufferedImage
thumbnails,
or null
. Non-BufferedImage
objects
must not be stored in this List
.protected IIOMetadata metadata
IIOMetadata
object containing metadata
associated with the image.public IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
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)
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()
RenderedImage
, or
null
if only a Raster
is available.RenderedImage
, or null
.setRenderedImage(java.awt.image.RenderedImage)
public void setRenderedImage(RenderedImage image)
RenderedImage
. The value is
stored by reference. Any existing Raster
is
discarded.image
- a RenderedImage
.IllegalArgumentException
- if image
is
null
.getRenderedImage()
public boolean hasRaster()
true
if this IIOImage
stores
a Raster
rather than a RenderedImage
.true
if a Raster
is
available.public Raster getRaster()
Raster
, or
null
if only a RenderedImage
is
available.Raster
, or null
.setRaster(java.awt.image.Raster)
public void setRaster(Raster raster)
Raster
. The value is
stored by reference. Any existing RenderedImage
is
discarded.raster
- a Raster
.IllegalArgumentException
- if raster
is
null
.getRaster()
public int getNumThumbnails()
IIOImage
.int
.public BufferedImage getThumbnail(int index)
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()
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)
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()
IIOMetadata
object, or null
is none is set.IIOMetadata
object, or null
.setMetadata(javax.imageio.metadata.IIOMetadata)
public void setMetadata(IIOMetadata metadata)
IIOMetadata
to a new object, or
null
.metadata
- an IIOMetadata
object, or
null
.getMetadata()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.