所有类


javax.imageio
类 ImageReader

java.lang.Object
  继承者 javax.imageio.ImageReader

public abstract class ImageReader
   
   
   
   
   
extends Object

用来解析和解码图像的抽象超类。在 Java Image I/O 框架的上下文中读入图像的类必须创建此类的子类。

ImageReader 对象通常由特定格式的服务提供程序接口 (SPI) 类实例化。服务提供程序类(例如 ImageReaderSpi 的实例)向 IIORegistry 注册,后者使用前者进行格式识别和表示可用格式 reader 和 writer。

在设置输入源时(使用 setInput 方法),可以将它标记为“只向前搜索”。此设置意味着包含在输入源中的图像将只按顺序读取,可能允许 reader 避免缓存包含与以前已经读取的图像关联的数据的那些输入部分。

另请参见:
ImageWriter, IIORegistry, ImageReaderSpi

字段摘要
protected  Locale[]availableLocales
          可以用来本地化警告消息的 Locale 组成的数组,如果不支持本地化,则为 null
protected  booleanignoreMetadata
          如果当前输入源已经被 setInput 标记为允许忽略元数据,则为 true
protected  Objectinput
          由 setInput 设置并由 getInput 检索的 ImageInputStream 或其他 Object
protected  Localelocale
          用于本地化的当前 Locale,如果没有设置,则为 null
protected  intminIndex
          用来读取的最小有效索引,最初为 0。
protected  ImageReaderSpioriginatingProvider
          实例化此对象的 ImageReaderSpi,如果其身份未知或不存在,则为 null
protected  List<IIOReadProgressListener>progressListeners
          当前已注册 IIOReadProgressListener 组成的 List,默认情况下初始化为 null,它与空 List 同义。
protected  booleanseekForwardOnly
          如果当前输入源已经被 setInput 标记为允许只向前搜索,则为 true
protected  List<IIOReadUpdateListener>updateListeners
          当前已注册 IIOReadUpdateListener 组成的 List,默认情况下初始化为 null,它与空 List 同义。
protected  List<IIOReadWarningListener>warningListeners
          当前已注册 IIOReadWarningListener 组成的 List,默认情况下初始化为 null,它与空 List 同义。
protected  List<Locale>warningLocales
          与每个当前已注册 IIOReadWarningListener 关联的 Locale 组成的 List,默认情况下初始化为 null,它与空 List 同义。
 
构造方法摘要
protected ImageReader(ImageReaderSpi originatingProvider)
          构造一个 ImageReader,并将其 originatingProvider 字段设置为所提供的值。
 
方法摘要
 voidabort()
          请求中止当前所有读取操作。
protected  booleanabortRequested()
          如果从实例化 reader 或调用 clearAbortRequest 时起,已经请求了中止当前读取操作,则返回 true
 voidaddIIOReadProgressListener(IIOReadProgressListener listener)
          将 IIOReadProgressListener 添加到已注册的进度侦听器列表中。
 voidaddIIOReadUpdateListener(IIOReadUpdateListener listener)
          将 IIOReadUpdateListener 添加到已注册的更新侦听器列表中。
 voidaddIIOReadWarningListener(IIOReadWarningListener listener)
          将 IIOReadWarningListener 添加到已注册的警告侦听器的列表中。
 booleancanReadRaster()
          如果此插件支持只读取像素数据的 Raster,则返回 true
protected static voidcheckReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands)
          reader 可用来测试 ImageReadParam 的源和目标 band 设置的有效性的实用方法。
protected  voidclearAbortRequest()
          清除任何以前的中止请求。
protected static voidcomputeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
          计算感兴趣的源区域和目标区域,将源图像的宽度和高度、可选目标图像和可选 ImageReadParam 都考虑在内。
 voiddispose()
          允许释放此对象占用的所有资源。
 floatgetAspectRatio(int imageIndex)
          以 float 的形式返回给定图像的高宽比(即宽度除以高度)。
 Locale[]getAvailableLocales()
          返回可用来初始化警告侦听器和压缩设置值的 Locale 所组成的数组。
 ImageReadParamgetDefaultReadParam()
          返回一个适合此格式的默认 ImageReadParam 对象。
protected static BufferedImagegetDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height)
          返回应该在其中写入解码的像素数据的 BufferedImage
 StringgetFormatName()
          返回一个标识输入源格式的 String
abstract  intgetHeight(int imageIndex)
          返回输入源中的给定图像的高度,以像素为单位。
abstract  IIOMetadatagetImageMetadata(int imageIndex)
          返回包含与给定图像关联的元数据的 IIOMetadata 对象,如果 reader 不支持读取元数据、被设置为忽略元数据,或者没有元数据可用,则返回 null
 IIOMetadatagetImageMetadata(int imageIndex, String formatName, Set<String> nodeNames)
          返回表示与给定图像关联的元数据的 IIOMetadata 对象,如果 reader 不支持读取元数据或者没有元数据可用,则返回 null
abstract  Iterator<ImageTypeSpecifier>getImageTypes(int imageIndex)
          以 ImageTypeSpecifier 形式返回包含可能的图像类型的 Iterator,给定图像可能被解码成这些类型。
 ObjectgetInput()
          返回以前设置为输入源的 ImageInputStream 或其他 Object
 LocalegetLocale()
          返回当前设置的 Locale,如果没有设置 Locale,则返回 null
 intgetMinIndex()
          返回用于读取图像、缩略图或图像元数据的最低有效索引。
abstract  intgetNumImages(boolean allowSearch)
          返回当前输入源中可用的图像数,不包括缩略图。
 intgetNumThumbnails(int imageIndex)
          返回与给定图像关联的缩略图预览图像的数量。
 ImageReaderSpigetOriginatingProvider()
          返回传入构造方法的 ImageReaderSpi
 ImageTypeSpecifiergetRawImageType(int imageIndex)
          返回一个 ImageTypeSpecifier,指示最能代表图像“原始”内部格式的 SampleModelColorModel
protected static RectanglegetSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
          reader 可用来计算应该读取的源图像区域的一个实用方法,计算时考虑任何源区域,并在所提供的 ImageReadParam 中对偏移量设置进行二次取样。
abstract  IIOMetadatagetStreamMetadata()
          返回一个 IIOMetadata 对象,它表示作为一个整体与输入源关联的元数据(即不与任何特定图像关联);如果 reader 不支持读取元数据、被设置为忽略元数据,或者没有元数据可用,则返回 null
 IIOMetadatagetStreamMetadata(String formatName, Set<String> nodeNames)
          返回一个 IIOMetadata 对象,它表示作为一个整体与输入源关联的元数据(即不与任何特定图像关联)。
 intgetThumbnailHeight(int imageIndex, int thumbnailIndex)
          返回通过索引 thumbnailIndex 指定的缩略图预览图像的高度,其与通过索引 ImageIndex 指定的图像关联。
 intgetThumbnailWidth(int imageIndex, int thumbnailIndex)
          返回通过索引 thumbnailIndex 指定的缩略图预览图像的宽度,其与通过索引 ImageIndex 指定的图像关联。
 intgetTileGridXOffset(int imageIndex)
          返回给定图像中 tile (0, 0) 的左上角的 X 坐标。
 intgetTileGridYOffset(int imageIndex)
          返回给定图像中 tile (0, 0) 的左上角的 Y 坐标。
 intgetTileHeight(int imageIndex)
          返回给定图像中 tile 的高度。
 intgetTileWidth(int imageIndex)
          返回给定图像中 tile 的宽度。
abstract  intgetWidth(int imageIndex)
          返回输入源中的给定图像的宽度,以像素为单位。
 booleanhasThumbnails(int imageIndex)
          如果给定图像具有与之关联的缩略图预览图像,则返回 true
 booleanisIgnoringMetadata()
          如果已经通过传递 true 作为 setInput 方法的 ignoreMetadata 参数将当前输入源标记为允许忽略元数据,则返回 true
 booleanisImageTiled(int imageIndex)
          如果图像被组织成 tile(即等大小的非重叠矩形),则返回 true
 booleanisRandomAccessEasy(int imageIndex)
          如果给定图像的存储格式不会给像素的随机访问带来内在妨碍,则返回 true
 booleanisSeekForwardOnly()
          如果已经通过传递 true 作为 setInput 方法的 seekForwardOnly 参数将当前输入源标记为只向前搜索,则返回 true
protected  voidprocessImageComplete()
          通过调用所有已注册 IIOReadProgressListenerimageComplete 方法向其广播图像读取的完成。
protected  voidprocessImageProgress(float percentageDone)
          通过调用所有已注册 IIOReadProgressListenerimageProgress 方法向其广播图像完成的当前百分比。
protected  voidprocessImageStarted(int imageIndex)
          通过调用所有已注册 IIOReadProgressListenerimageStarted 方法向其广播图像读取起始处。
protected  voidprocessImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
          通过调用所有已注册 IIOReadUpdateListenerimageUpdate 方法向其广播样本集合的更新。
protected  voidprocessPassComplete(BufferedImage theImage)
          通过调用所有已注册 IIOReadUpdateListenerpassComplete 方法向其广播逐步传递的结束。
protected  voidprocessPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
          通过调用所有已注册 IIOReadUpdateListenerpassStarted 方法向其广播逐步传递的开始。
protected  voidprocessReadAborted()
          通过调用所有已注册 IIOReadProgressListenerreadAborted 方法向其广播读取已经中止。
protected  voidprocessSequenceComplete()
          通过调用所有已注册 IIOReadProgressListenersequenceComplete 方法向其广播图像读取序列的完成。
protected  voidprocessSequenceStarted(int minIndex)
          通过调用所有已注册 IIOReadProgressListenersequenceStarted 方法向其广播图像读取序列的起始处。
protected  voidprocessThumbnailComplete()
          通过调用所有已注册 IIOReadProgressListenerthumbnailComplete 方法向其广播缩略图读取的完成。
protected  voidprocessThumbnailPassComplete(BufferedImage theThumbnail)
          通过调用所有已注册 IIOReadUpdateListenerthumbnailPassComplete 方法向其广播缩略图逐步传递的结束。
protected  voidprocessThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
          通过调用所有已注册 IIOReadUpdateListenerthumbnailPassStarted 方法向其广播缩略图逐步传递的开始。
protected  voidprocessThumbnailProgress(float percentageDone)
          通过调用所有已注册 IIOReadProgressListenerthumbnailProgress 方法向其广播缩略图完成的当前百分比。
protected  voidprocessThumbnailStarted(int imageIndex, int thumbnailIndex)
          通过调用所有已注册 IIOReadProgressListenerthumbnailStarted 方法向其广播缩略图读取的起始处。
protected  voidprocessThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
          通过调用所有已注册 IIOReadUpdateListenerthumbnailUpdate 方法向其广播缩略图图像中样本集合的更新。
protected  voidprocessWarningOccurred(String warning)
          通过调用所有已注册 IIOReadWarningListenerwarningOccurred 方法向其广播警告消息。
protected  voidprocessWarningOccurred(String baseName, String keyword)
          通过使用取自 ResourceBundle 的字符串调用所有已注册 IIOReadWarningListenerwarningOccurred 方法向其广播本地化警告消息。
 BufferedImageread(int imageIndex)
          使用默认 ImageReadParam 读取通过索引 imageIndex 指定的图像,并将其作为一个完整的 BufferedImage 返回。
abstract  BufferedImageread(int imageIndex, ImageReadParam param)
          使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的对象,并将它作为一个完整的 BufferedImage 返回。
 IIOImagereadAll(int imageIndex, ImageReadParam param)
          使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的图像,并返回包含图像、缩略图和相关图像元数据的 IIOImage
 Iterator<IIOImage>readAll(Iterator<? extends ImageReadParam> params)
          以 IIOImage 对象形式返回包含输入源中所有图像、缩略图和元数据的 Iterator,从 getMinIndex 给定的索引开始。
 RenderedImagereadAsRenderedImage(int imageIndex, ImageReadParam param)
          返回一个 RenderedImage 对象,该对象包含通过索引 imageIndex 指定的图像的内容。
 booleanreaderSupportsThumbnails()
          如果此 reader 所理解的图像格式支持与之关联的缩略图预览图像,则返回 true
 RasterreadRaster(int imageIndex, ImageReadParam param)
          返回包含图像流中原始像素数据的新 Raster 对象,不应用任何颜色转换。
 BufferedImagereadThumbnail(int imageIndex, int thumbnailIndex)
          以 BufferedImage 形式返回通过索引 thumbnailIndex 指定的缩略图预览图像,其与通过索引 ImageIndex 指定的图像关联。
 BufferedImagereadTile(int imageIndex, int tileX, int tileY)
          读取由 tileXtileY 参数指示的 tile,并以 BufferedImage 形式返回。
 RasterreadTileRaster(int imageIndex, int tileX, int tileY)
          返回包含 tile 中的原始像素数据的新 Raster 对象,不应用任何颜色转换。
 voidremoveAllIIOReadProgressListeners()
          移除所有当前已注册的 IIOReadProgressListener 对象。
 voidremoveAllIIOReadUpdateListeners()
          移除所有当前已注册的 IIOReadUpdateListener 对象。
 voidremoveAllIIOReadWarningListeners()
          移除所有当前已注册的 IIOReadWarningListener 对象。
 voidremoveIIOReadProgressListener(IIOReadProgressListener listener)
          从已注册的进度侦听器列表中移除 IIOReadProgressListener
 voidremoveIIOReadUpdateListener(IIOReadUpdateListener listener)
          从已注册的更新侦听器列表中移除 IIOReadUpdateListener
 voidremoveIIOReadWarningListener(IIOReadWarningListener listener)
          从已注册的错误侦听器列表中移除 IIOReadWarningListener
 voidreset()
          将 ImageReader 恢复到其初始状态。
 voidsetInput(Object input)
          设置用于给定的 ImageInputStream 或其他 Object 的输入源。
 voidsetInput(Object input, boolean seekForwardOnly)
          设置用于给定的 ImageInputStream 或其他 Object 的输入源。
 voidsetInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)
          设置用于给定的 ImageInputStream 或其他 Object 的输入源。
 voidsetLocale(Locale locale)
          将此 ImageReader 的当前 Locale 设置为给定值。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

originatingProvider

protected ImageReaderSpi originatingProvider
实例化此对象的 ImageReaderSpi,如果其身份未知或不存在,则为 null。默认情况下初始化为 null


input

protected Object input
setInput 设置并由 getInput 检索的 ImageInputStream 或其他 Object。默认情况下初始化为 null


seekForwardOnly

protected boolean seekForwardOnly
如果当前输入源已经被 setInput 标记为允许只向前搜索,则为 true。默认情况下,该值为 false

另请参见:
minIndex, setInput(java.lang.Object, boolean, boolean)

ignoreMetadata

protected boolean ignoreMetadata
如果当前输入源已经被 setInput 标记为允许忽略元数据,则为 true。默认情况下,该值为 false

另请参见:
setInput(java.lang.Object, boolean, boolean)

minIndex

protected int minIndex
用来读取的最小有效索引,最初为 0。如果 seekForwardOnlytrue ,各种方法在试图访问与拥有更低索引的图像关联的数据时将抛出 IndexOutOfBoundsException

另请参见:
seekForwardOnly, setInput(java.lang.Object, boolean, boolean)

availableLocales

protected Locale[] availableLocales
可以用来本地化警告消息的 Locale 组成的数组,如果不支持本地化,则为 null


locale

protected Locale locale
用于本地化的当前 Locale,如果没有设置,则为 null