javax.imageio

Class 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 List
extendsBufferedImage>thumbnails
A list of BufferedImage thumbnails of this image.
protected RenderedImage
image
Image data as a RenderedImage. null if this IIOImage uses the Raster representation.
protected IIOMetadata
metadata
Image metadata.
protected Raster
raster
Image data as a Raster. null if this IIOImage uses the RenderedImage representation.

Constructor Summary

IIOImage(Raster raster, BufferedImage> thumbnails, IIOMetadata metadata)
Construct an IIOImage containing raster image data, thumbnails and metadata.
IIOImage(RenderedImage image, BufferedImage> thumbnails, IIOMetadata metadata)
Construct an IIOImage containing rendered image data, thumbnails and metadata.

Method Summary

List
extends BufferedImage> getThumbnails()
Retrieve the list of thumbnails or null if there are no thumbnails associated with this IIOImage.
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.
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(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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

extendsBufferedImage>thumbnails

protected ListextendsBufferedImage>thumbnails
A list of BufferedImage thumbnails of this image.

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.

Constructor Details

IIOImage

public IIOImage(Raster raster,
                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,
                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 Details

extends BufferedImage> getThumbnails

public Listextends 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

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

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(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

IIOImage.java -- Copyright (C) 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.