java.lang.Object javax.imageio.ImageReader
public abstract class ImageReader
用来解析和解码图像的抽象超类。在 Java Image I/O 框架的上下文中读入图像的类必须创建此类的子类。
ImageReader
对象通常由特定格式的服务提供者接口 (SPI) 类实例化。服务提供者类(例如 ImageReaderSpi
的实例)向 IIORegistry
注册,后者使用前者进行格式识别和表示可用格式 reader 和 writer。
在设置输入源时(使用 setInput
方法),可以将它标记为“只向前搜索”。此设置意味着包含在输入源中的图像将只按顺序读取,可能允许 reader 避免缓存包含与以前已经读取的图像关联的数据的那些输入部分。
ImageWriter
,
IIORegistry
,
ImageReaderSpi
字段摘要 | |
---|---|
protected Locale[] |
availableLocales 可以用来本地化警告消息的 Locale 组成的数组,如果不支持本地化,则为 null 。 |
protected boolean |
ignoreMetadata 如果当前输入源已经被 setInput 标记为允许忽略元数据,则为 true 。 |
protected Object |
input 由 setInput 设置并由 getInput 获取的 ImageInputStream 或其他 Object 。 |
protected Locale |
locale 用于本地化的当前 Locale ,如果没有设置,则为 null 。 |
protected int |
minIndex 用来读取的最小有效索引,最初为 0。 |
protected ImageReaderSpi |
originatingProvider 实例化此对象的 ImageReaderSpi ,如果其身份未知或不存在,则为 null 。 |
protected List<IIOReadProgressListener> |
progressListeners 当前已注册 IIOReadProgressListener 组成的 List ,默认情况下初始化为 null ,它与空 List 同义。 |
protected boolean |
seekForwardOnly 如果当前输入源已经被 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 字段设置为所提供的值。 |
方法摘要 | |
---|---|
void |
abort() 请求中止当前所有读取操作。 |
protected boolean |
abortRequested() 如果从实例化 reader 或调用 clearAbortRequest 时起,已经请求了中止当前读取操作,则返回 true 。 |
void |
addIIOReadProgressListener(IIOReadProgressListener listener) 将 IIOReadProgressListener 添加到已注册的进度侦听器列表中。 |
void |
addIIOReadUpdateListener(IIOReadUpdateListener listener) 将 IIOReadUpdateListener 添加到已注册的更新侦听器列表中。 |
void |
addIIOReadWarningListener(IIOReadWarningListener listener) 将 IIOReadWarningListener 添加到已注册的警告侦听器的列表中。 |
boolean |
canReadRaster() 如果此插件支持只读取像素数据的 ,则返回 true 。 |
protected static void |
checkReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands) reader 可用来测试 ImageReadParam 的源和目标 band 设置的有效性的实用方法。 |
protected void |
clearAbortRequest() 清除任何以前的中止请求。 |
protected static void |
computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion) 计算感兴趣的源区域和目标区域,将源图像的宽度和高度、可选目标图像和可选 ImageReadParam 都考虑在内。 |
void |
dispose() 允许释放此对象占用的所有资源。 |
float |
getAspectRatio(int imageIndex) 以 float 的形式返回给定图像的高宽比(即宽度除以高度)。 |
Locale[] |
getAvailableLocales() 返回可用来初始化警告侦听器和压缩设置值的 Locale 所组成的数组。 |
ImageReadParam |
getDefaultReadParam() 返回一个适合此格式的默认 ImageReadParam 对象。 |
protected static BufferedImage |
getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height) 返回应该在其中写入解码的像素数据的 BufferedImage 。 |
String |
getFormatName() 返回一个标识输入源格式的 String 。 |
abstract int |
getHeight(int imageIndex) 返回输入源中的给定图像的高度,以像素为单位。 |
abstract IIOMetadata |
getImageMetadata(int imageIndex) 返回包含与给定图像关联的元数据的 IIOMetadata 对象,如果 reader 不支持读取元数据、被设置为忽略元数据,或者没有元数据可用,则返回 null 。 |
IIOMetadata |
getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) 返回表示与给定图像关联的元数据的 IIOMetadata 对象,如果 reader 不支持读取元数据或者没有元数据可用,则返回 null 。 |
abstract Iterator<ImageTypeSpecifier> |
getImageTypes(int imageIndex) 以 ImageTypeSpecifier 形式返回包含可能的图像类型的 Iterator ,给定图像可能被解码成这些类型。 |
Object |
getInput() 返回以前设置为输入源的 ImageInputStream 或其他 Object 。 |
Locale |
getLocale() 返回当前设置的 Locale ,如果没有设置 Locale,则返回 null 。 |
int |
getMinIndex() 返回用于读取图像、缩略图或图像元数据的最低有效索引。 |
abstract int |
getNumImages(boolean allowSearch) 返回当前输入源中可用的图像数,不包括缩略图。 |
int |
getNumThumbnails(int imageIndex) 返回与给定图像关联的缩略图预览图像的数量。 |
ImageReaderSpi |
getOriginatingProvider() 返回传入构造方法的 ImageReaderSpi 。 |
ImageTypeSpecifier |
getRawImageType(int imageIndex) 返回一个 ImageTypeSpecifier ,指示最能代表图像“原始”内部格式的 SampleModel 和 ColorModel 。 |
protected static Rectangle |
getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight) reader 可用来计算应该读取的源图像区域的一个实用方法,计算时考虑任何源区域,并在所提供的 ImageReadParam 中对偏移量设置进行二次取样。 |
abstract IIOMetadata |
getStreamMetadata() 返回一个 IIOMetadata 对象,它表示作为一个整体与输入源关联的元数据(即不与任何特定图像关联);如果 reader 不支持读取元数据、被设置为忽略元数据,或者没有元数据可用,则返回 null 。 |
IIOMetadata |
getStreamMetadata(String formatName, Set<String> nodeNames) 返回一个 IIOMetadata 对象,它表示作为一个整体与输入源关联的元数据(即不与任何特定图像关联)。 |
int |
getThumbnailHeight(int imageIndex, int thumbnailIndex) 返回通过索引 thumbnailIndex 指定的缩略图预览图像的高度,其与通过索引 ImageIndex 指定的图像关联。 |
int |
getThumbnailWidth(int imageIndex, int thumbnailIndex) 返回通过索引 thumbnailIndex 指定的缩略图预览图像的宽度,其与通过索引 ImageIndex 指定的图像关联。 |
int |
getTileGridXOffset(int imageIndex) 返回给定图像中 tile (0, 0) 的左上角的 X 坐标。 |
int |
getTileGridYOffset(int imageIndex) 返回给定图像中 tile (0, 0) 的左上角的 Y 坐标。 |
int |
getTileHeight(int imageIndex) 返回给定图像中 tile 的高度。 |
int |
getTileWidth(int imageIndex) 返回给定图像中 tile 的宽度。 |
abstract int |
getWidth(int imageIndex) 返回输入源中的给定图像的宽度,以像素为单位。 |
boolean |
hasThumbnails(int imageIndex) 如果给定图像具有与之关联的缩略图预览图像,则返回 true 。 |
boolean |
isIgnoringMetadata() 如果已经通过传递 true 作为 setInput 方法的 ignoreMetadata 参数将当前输入源标记为允许忽略元数据,则返回 true 。 |
boolean |
isImageTiled(int imageIndex) 如果图像被组织成 tile(即等大小的非重叠矩形),则返回 true 。 |
boolean |
isRandomAccessEasy(int imageIndex) 如果给定图像的存储格式不会给像素的随机访问带来内在妨碍,则返回 true 。 |
boolean |
isSeekForwardOnly() 如果已经通过传递 true 作为 setInput 方法的 seekForwardOnly 参数将当前输入源标记为只向前搜索,则返回 true 。 |
protected void |
processImageComplete() 通过调用所有已注册 IIOReadProgressListener 的 imageComplete 方法向其广播图像读取的完成。 |
protected void |
processImageProgress(float percentageDone) 通过调用所有已注册 IIOReadProgressListener 的 imageProgress 方法向其广播图像完成的当前百分比。 |
protected void |
processImageStarted(int imageIndex) 通过调用所有已注册 IIOReadProgressListener 的 imageStarted 方法向其广播图像读取起始处。 |
protected void |
processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands) 通过调用所有已注册 IIOReadUpdateListener 的 imageUpdate 方法向其广播样本集合的更新。 |
protected void |
processPassComplete(BufferedImage theImage) 通过调用所有已注册 IIOReadUpdateListener 的 passComplete 方法向其广播逐步传递的结束。 |
protected void |
processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) 通过调用所有已注册 IIOReadUpdateListener 的 passStarted 方法向其广播逐步传递的开始。 |
protected void |
processReadAborted() 通过调用所有已注册 IIOReadProgressListener 的 readAborted 方法向其广播读取已经中止。 |
protected void |
processSequenceComplete() 通过调用所有已注册 IIOReadProgressListener 的 sequenceComplete 方法向其广播图像读取序列的完成。 |
protected void |
processSequenceStarted(int minIndex) 通过调用所有已注册 IIOReadProgressListener 的 sequenceStarted 方法向其广播图像读取序列的起始处。 |
protected void |
processThumbnailComplete() 通过调用所有已注册 IIOReadProgressListener 的 thumbnailComplete 方法向其广播缩略图读取的完成。 |
protected void |
processThumbnailPassComplete(BufferedImage theThumbnail) 通过调用所有已注册 IIOReadUpdateListener 的 thumbnailPassComplete 方法向其广播缩略图逐步传递的结束。 |
protected void |
processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) 通过调用所有已注册 IIOReadUpdateListener 的 thumbnailPassStarted 方法向其广播缩略图逐步传递的开始。 |
protected void |
processThumbnailProgress(float percentageDone) 通过调用所有已注册 IIOReadProgressListener 的 thumbnailProgress 方法向其广播缩略图完成的当前百分比。 |
protected void |
processThumbnailStarted(int imageIndex, int thumbnailIndex) 通过调用所有已注册 IIOReadProgressListener 的 thumbnailStarted 方法向其广播缩略图读取的起始处。 |
protected void |
processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands) 通过调用所有已注册 IIOReadUpdateListener 的 thumbnailUpdate 方法向其广播缩略图图像中样本集合的更新。 |
protected void |
processWarningOccurred(String warning) 通过调用所有已注册 IIOReadWarningListener 的 warningOccurred 方法向其广播警告消息。 |
protected void |
processWarningOccurred(String baseName, String keyword) 通过使用取自 ResourceBundle 的字符串调用所有已注册 IIOReadWarningListener 的 warningOccurred 方法向其广播本地化警告消息。 |
BufferedImage |
read(int imageIndex) 使用默认 ImageReadParam 读取通过索引 imageIndex 指定的图像,并将其作为一个完整的 BufferedImage 返回。 |
abstract BufferedImage |
read(int imageIndex, ImageReadParam param) 使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的对象,并将它作为一个完整的 BufferedImage 返回。 |
IIOImage |
readAll(int imageIndex, ImageReadParam param) 使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的图像,并返回包含图像、缩略图和相关图像元数据的 IIOImage 。 |
Iterator<IIOImage> |
readAll(Iterator<? extends ImageReadParam> params) 以 IIOImage 对象形式返回包含输入源中所有图像、缩略图和元数据的 Iterator ,从 getMinIndex 给定的索引开始。 |
RenderedImage |
readAsRenderedImage(int imageIndex, ImageReadParam param) 返回一个 RenderedImage 对象,该对象包含通过索引 imageIndex 指定的图像的内容。 |
boolean |
readerSupportsThumbnails() 如果此 reader 所理解的图像格式支持与之关联的缩略图预览图像,则返回 true 。 |
Raster |
readRaster(int imageIndex, ImageReadParam param) 返回包含图像流中原始像素数据的新 Raster 对象,不应用任何颜色转换。 |
BufferedImage |
readThumbnail(int imageIndex, int thumbnailIndex) 以 BufferedImage 形式返回通过索引 thumbnailIndex 指定的缩略图预览图像,其与通过索引 ImageIndex 指定的图像关联。 |
BufferedImage |
readTile(int imageIndex, int tileX, int tileY) 读取由 tileX 和 tileY 参数指示的 tile,并以 BufferedImage 形式返回。 |
Raster |
readTileRaster(int imageIndex, int tileX, int tileY) 返回包含 tile 中的原始像素数据的新 Raster 对象,不应用任何颜色转换。 |
void |
removeAllIIOReadProgressListeners() 移除所有当前已注册的 IIOReadProgressListener 对象。 |
void |
removeAllIIOReadUpdateListeners() 移除所有当前已注册的 IIOReadUpdateListener 对象。 |
void |
removeAllIIOReadWarningListeners() 移除所有当前已注册的 IIOReadWarningListener 对象。 |
void |
removeIIOReadProgressListener(IIOReadProgressListener listener) 从已注册的进度侦听器列表中移除 IIOReadProgressListener 。 |
void |
removeIIOReadUpdateListener(IIOReadUpdateListener listener) 从已注册的更新侦听器列表中移除 IIOReadUpdateListener 。 |
void |
removeIIOReadWarningListener(IIOReadWarningListener listener) 从已注册的错误侦听器列表中移除 IIOReadWarningListener 。 |
void |
reset() 将 ImageReader 恢复到其初始状态。 |
void |
setInput(Object input) 设置用于给定的 ImageInputStream 或其他 Object 的输入源。 |
void |
setInput(Object input, boolean seekForwardOnly) 设置用于给定的 ImageInputStream 或其他 Object 的输入源。 |
void |
setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) 设置用于给定的 ImageInputStream 或其他 Object 的输入源。 |
void |
setLocale(Locale locale) 将此 ImageReader 的当前 Locale 设置为给定值。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected ImageReaderSpi originatingProvider
ImageReaderSpi
,如果其身份未知或不存在,则为
null
。默认情况下初始化为
null
。
protected Object input
setInput
设置并由
getInput
获取的
ImageInputStream
或其他
Object
。默认情况下初始化为
null
。
protected boolean seekForwardOnly
setInput
标记为允许只向前搜索,则为
true
。默认情况下,该值为
false
。
protected boolean ignoreMetadata
setInput
标记为允许忽略元数据,则为
true
。默认情况下,该值为
false
。
protected int minIndex
seekForwardOnly
为
true
,各种方法在试图访问与拥有更低索引的图像关联的数据时将抛出
IndexOutOfBoundsException
。
protected Locale[] availableLocales
Locale
组成的数组,如果不支持本地化,则为
null
。
protected Locale locale
Locale
,如果没有设置,则为
null
。
protected List<IIOReadWarningListener> warningListeners
IIOReadWarningListener
组成的
List
,默认情况下初始化为
null
,它与空
List
同义。
protected List<Locale> warningLocales
IIOReadWarningListener
关联的
Locale
组成的
List
,默认情况下初始化为
null
,它与空
List
同义。
protected List<IIOReadProgressListener> progressListeners
IIOReadProgressListener
组成的
List
,默认情况下初始化为
null
,它与空
List
同义。
protected List<IIOReadUpdateListener> updateListeners
IIOReadUpdateListener
组成的
List
,默认情况下初始化为
null
,它与空
List
同义。
构造方法详细信息 |
---|
protected ImageReader(ImageReaderSpi originatingProvider)
Imag