Module java.desktop
Package javax.imageio

Class IIOImage

java.lang.Object
javax.imageio.IIOImage

public class IIOImage extends Object
一个简单的容器类,用于聚合图像、一组缩略图(预览图像)和表示与图像关联的元数据的对象。

图像数据可以采用RenderedImageRaster的形式。返回IIOImage的读取方法将始终使用RenderedImage引用返回BufferedImage。接受IIOImage的写入方法将始续接受RenderedImage,并可选择接受Raster

getRenderedImagegetRaster中的一个将返回非null值。子类负责确保此行为。

参见:
  • Field Details

    • image

      protected RenderedImage image
      被引用的RenderedImage
    • raster

      protected Raster raster
      被引用的Raster
    • thumbnails

      protected List<? extends BufferedImage> thumbnails
      一组BufferedImage缩略图的List,或null。此List中不得存储非BufferedImage对象。
    • metadata

      protected IIOMetadata metadata
      包含与图像关联的元数据的IIOMetadata对象。
  • Constructor Details

    • IIOImage

      public IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
      构造一个包含RenderedImage、缩略图和与之关联的元数据的IIOImage

      所有参数都是按引用存储的。

      thumbnails参数必须是null或仅包含BufferedImage对象。

      参数:
      image - 一个RenderedImage
      thumbnails - 一个ListBufferedImage,或null
      metadata - 一个IIOMetadata对象,或null
      抛出:
      IllegalArgumentException - 如果imagenull
    • IIOImage

      public IIOImage(Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata)
      构造一个包含Raster、缩略图和与之关联的元数据的IIOImage

      所有参数都是按引用存储的。

      参数:
      raster - 一个Raster
      thumbnails - 一个ListBufferedImage,或null
      metadata - 一个IIOMetadata对象,或null
      抛出:
      IllegalArgumentException - 如果rasternull
  • Method Details

    • getRenderedImage

      public RenderedImage getRenderedImage()
      返回当前设置的RenderedImage,如果只有Raster可用,则返回null
      返回:
      一个RenderedImage,或null
      参见:
    • setRenderedImage

      public void setRenderedImage(RenderedImage image)
      设置当前RenderedImage。该值按引用存储。任何现有的Raster将被丢弃。
      参数:
      image - 一个RenderedImage
      抛出:
      IllegalArgumentException - 如果imagenull
      参见:
    • hasRaster

      public boolean hasRaster()
      如果此IIOImage存储Raster而不是RenderedImage,则返回true
      返回:
      如果Raster可用,则返回true
    • getRaster

      public Raster getRaster()
      返回当前设置的Raster,如果只有RenderedImage可用,则返回null
      返回:
      一个Raster,或null
      参见:
    • setRaster

      public void setRaster(Raster raster)
      设置当前Raster。该值按引用存储。任何现有的RenderedImage将被丢弃。
      参数:
      raster - 一个Raster
      抛出:
      IllegalArgumentException - 如果rasternull
      参见:
    • getNumThumbnails

      public int getNumThumbnails()
      返回存储在此IIOImage中的缩略图数量。
      返回:
      缩略图的数量,作为int
    • getThumbnail

      public BufferedImage getThumbnail(int index)
      返回与主图像关联的缩略图。
      参数:
      index - 所需缩略图图像的索引。
      返回:
      一个缩略图图像,作为BufferedImage
      抛出:
      IndexOutOfBoundsException - 如果提供的索引为负数或大于最大有效索引。
      ClassCastException - 如果在给定索引处的缩略图列表中遇到非BufferedImage对象。
      参见:
    • getThumbnails

      public List<? extends BufferedImage> getThumbnails()
      返回当前List的缩略图BufferedImage,如果未设置则返回null。返回一个实时引用。
      返回:
      当前ListBufferedImage缩略图,或null
      参见:
    • setThumbnails

      public void setThumbnails(List<? extends BufferedImage> thumbnails)
      将缩略图列表设置为新的ListBufferedImage,或设置为null。丢弃对先前List的引用。

      thumbnails参数必须是null或仅包含BufferedImage对象。

      参数:
      thumbnails - 一个ListBufferedImage缩略图,或null
      参见:
    • getMetadata

      public IIOMetadata getMetadata()
      返回对当前IIOMetadata对象的引用,如果未设置则返回null
      返回:
      一个IIOMetadata对象,或null
      参见:
    • setMetadata

      public void setMetadata(IIOMetadata metadata)
      IIOMetadata设置为新对象,或null
      参数:
      metadata - 一个IIOMetadata对象,或null
      参见: