public abstract class ImageReaderSpi extends ImageReaderWriterSpi
ImageReaders。对服务类的更多信息,见的
IIORegistry类类的评论。
每个ImageReaderSpi提供几种类型的信息的ImageReader类与关联。
谁定义SPI类和简要说明类供应商的名称可以通过getVendorName,getDescription,和getVersion方法。这些方法可能是国际化的,提供特定区域的输出。这些方法的目的主要是提供简短的,人类可读的信息,可能会被用来组织一个弹出式菜单或其他列表。
格式名称,文件后缀列表,和MIME类型与服务相关的可能的getFormatNames,getFileSuffixes手段获得的,和getMIMETypes方法。这些方法可以用来确定解码特定文件或基于手册的格式选择,流的候选人ImageReaders文件命名,或哑剧演员协会(例如,访问HTTP或作为电子邮件附件的文件时)。
确定ImageReaders可能可以分析特定数据流的canDecodeInput方法提供一个更可靠的方法。这种方法允许服务提供程序检查实际的流内容。
最后,与此相关的服务提供商ImageReader类的实例可以通过调用createReaderInstance方法得到的。任何重量级的初始化,如本地库的加载或大表的创建,都应该推迟到该方法的第一次调用为止。
IIORegistry,
ImageReader
| Modifier and Type | Field and Description |
|---|---|
protected 类[] |
inputTypes
对
类对象数组返回
getInputTypes,最初
null。
|
static 类[] |
STANDARD_INPUT_TYPE
过时的。
而不是使用这个领域,直接创建等效阵列
{ ImageInputStream.class }。
|
protected String[] |
writerSpiNames
字符串数组返回
getImageWriterSpiNames,最初
null。
|
extraImageMetadataFormatClassNames, extraImageMetadataFormatNames, extraStreamMetadataFormatClassNames, extraStreamMetadataFormatNames, MIMETypes, names, nativeImageMetadataFormatClassName, nativeImageMetadataFormatName, nativeStreamMetadataFormatClassName, nativeStreamMetadataFormatName, pluginClassName, suffixes, supportsStandardImageMetadataFormat, supportsStandardStreamMetadataFormatvendorName, version| Modifier | Constructor and Description |
|---|---|
protected |
ImageReaderSpi()
建立一个空白
ImageReaderSpi。
|
|
ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String readerClassName, 类[] inputTypes, String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
构建一个给定的值的
ImageReaderSpi。
|
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
canDecodeInput(Object source)
返回
true如果提供的源对象似乎是这个读者所支持的格式。
|
ImageReader |
createReaderInstance()
返回与该服务提供商相关的
ImageReader实现的一个实例。
|
abstract ImageReader |
createReaderInstance(Object extension)
返回与该服务提供商相关的
ImageReader实现的一个实例。
|
String[] |
getImageWriterSpiNames()
返回包含完全限定名称的所有
ImageWriterSpi类可以理解这个服务提供商相关的
ImageReader使用内部元数据表示
Strings数组,或
null如果没有这样的
ImageWriters指定。
|
类[] |
getInputTypes()
返回
类对象说明什么类型的对象可以作为读者的
setInput方法的参数数组。
|
boolean |
isOwnReader(ImageReader reader)
返回
true如果通过在
ImageReader对象是与此相关的服务提供商
ImageReader实例。
|
getExtraImageMetadataFormatNames, getExtraStreamMetadataFormatNames, getFileSuffixes, getFormatNames, getImageMetadataFormat, getMIMETypes, getNativeImageMetadataFormatName, getNativeStreamMetadataFormatName, getPluginClassName, getStreamMetadataFormat, isStandardImageMetadataFormatSupported, isStandardStreamMetadataFormatSupportedgetDescription, getVendorName, getVersion, onDeregistration, onRegistration@Deprecated public static final 类[] STANDARD_INPUT_TYPE
{ ImageInputStream.class }。
ImageInputStream.class,归还从
getInputTypes。
protected 类[] inputTypes
类对象数组返回
getInputTypes,最初
null。
protected String[] writerSpiNames
getImageWriterSpiNames,最初
null。
protected ImageReaderSpi()
ImageReaderSpi。它是由子类初始化实例变量和/或重写方法实现,以提供所有方法的工作版本。
public ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String readerClassName, 类[] inputTypes, String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
ImageReaderSpi。
vendorName -供应商的名称,作为一个非
null
String。
version -一个版本标识,作为一种非
null
String。
names -非-
Strings指示格式名称
null阵列。至少有一个条目必须存在。
suffixes -
Strings表示普通文件后缀数组。如果没有定义后缀,
null应提供。长度为0的数组将被归到
null。
MIMETypes -
Strings指示格式的MIME类型的数组。如果未定义的MIME类型,
null应提供。长度为0的数组将被归到
null。
readerClassName -相关
ImageReader类的完全限定名,作为一个非
null
String。
inputTypes -非
null数组对象的长度至少为1
类指示法律输入类型。
writerSpiNames -数组
Strings命名所有相关
ImageWriters类,或
null。长度为0的数组是归一化
null。
supportsStandardStreamMetadataFormat -
boolean指示数据流对象可以使用标准的元数据格式描述的树。
nativeStreamMetadataFormatName -
String,或
null,归还从
getNativeStreamMetadataFormatName。
nativeStreamMetadataFormatClassName -
String,或
null,用来实例化一个元数据格式对象被返回
getNativeStreamMetadataFormat。
extraStreamMetadataFormatNames -
Strings,数组或
null,归还从
getExtraStreamMetadataFormatNames。长度为0的数组归一化
null。
extraStreamMetadataFormatClassNames -
Strings,数组或
null,用来实例化一个元数据格式对象被返回
getStreamMetadataFormat。长度为0的数组是归一化
null。
supportsStandardImageMetadataFormat -
boolean指示图像元数据对象可以使用标准的元数据格式描述的树。
nativeImageMetadataFormatName -
String,或
null,归还从
getNativeImageMetadataFormatName。
nativeImageMetadataFormatClassName -
String,或
null,用来实例化一个元数据格式对象被返回
getNativeImageMetadataFormat。
extraImageMetadataFormatNames -
Strings归还从
getExtraImageMetadataFormatNames数组。长度为0的数组是归一化
null。
extraImageMetadataFormatClassNames -
Strings,数组或
null,用来实例化一个元数据格式对象被返回
getImageMetadataFormat。长度为0的数组是归一化
null。
null
vendorName
IllegalArgumentException。
null
version
IllegalArgumentException。
IllegalArgumentException -如果
names是
null或长度为0。
null
readerClassName
IllegalArgumentException。
IllegalArgumentException -如果
inputTypes是
null或长度为0。
public 类[] getInputTypes()
类对象说明什么类型的对象可以作为读者的
setInput方法的参数数组。
对于大多数读者来说,只接受来自一个ImageInputStream输入、单元素数组包含ImageInputStream.class应该归还。
类objects
null数组长度。
public abstract boolean canDecodeInput(Object source) throws IOException
true如果提供的源对象似乎是这个读者所支持的格式。从这个方法返回
true不保证读书会成功的,只是,似乎有一个合理的基于流的内容简要检查成功的机会。如果源是一个
ImageInputStream,实现将普遍检查的前几个字节流为“幻数”相关的格式。一旦实际阅读已经开始,读者可能仍然表示失败在完成解码之前的任何时间。
该对象的状态不被打扰,其他ImageReaderSpis可以正确地确定它们是否能够解读的对象是很重要的。特别是,如果源是一个ImageInputStream,一mark / reset对应该用来保存流的位置。
如“RAW格式,“这可能会尝试读取几乎任何流,应该返回false为了避免偏好更加匹配调用。
如果source不是一个实例一个类返回的getInputTypes,方法就简单的返回false。
source -对象(通常是一个
ImageInputStream)进行解码。
true流可以被解码。
null
source
IllegalArgumentException。
IOException流发生I/O错误。
public ImageReader createReaderInstance() throws IOException
ImageReader实现的一个实例。返回的对象将首先在初始状态,如果其
reset方法被称为。
默认的实现简单的返回createReaderInstance(null)。
ImageReader实例。
IOException -如果在加载过程中发生错误,或初始化该类读者,或在读者对象的实例化和初始化。
public abstract ImageReader createReaderInstance(Object extension) throws IOException
ImageReader实现的一个实例。返回的对象将首先在初始状态,如果其
reset方法被称为。
一个Object可施工时间提供给插件。对象的性质完全是插件特定的。
通常,一个插件将使用代码如return new MyImageReader(this)实现这个方法。
extension -插件特定的扩展对象,这可能是
null。
ImageReader实例。
IOException -如果试图实例化阅读器不能。
IllegalArgumentException -如果
ImageReader的构造函数抛出
IllegalArgumentException表明扩展对象是不合适的。
public boolean isOwnReader(ImageReader reader)
true如果通过在
ImageReader对象是与此相关的服务提供商
ImageReader实例。
默认的实现比较的完全限定类名的类名称传递到构造函数的参数的reader。这种方法可以重写,如果更复杂的检查是必需的。
reader -
ImageReader实例。
true如果
reader是公认的。
null
reader
IllegalArgumentException。
public String[] getImageWriterSpiNames()
ImageWriterSpi类可以理解这个服务提供商相关的
ImageReader使用内部元数据表示
Strings数组,或
null如果没有这样的
ImageWriters指定。如果非
null返回值,它必须具有非零长度。
数组中的第一项必须为“首选”的作家的服务提供商的名称,因为它会被用来实例化ImageWriter返回ImageIO.getImageWriter(ImageReader)。
这种机制可以用来获得ImageWriters会理解非像素元数据的内部结构(见IIOTreeInfo)产生的ImageReader。从ImageReader获取数据并将其传递给一个用这种方法获得的ImageWriters,客户端程序可以读取图像,修改它,以某种方式,把它写出来,保留所有的元数据,而无需了解数据的内部结构的东西,甚至对图像格式。
ImageWriterSpi
Strings数组,或
null。
ImageIO.getImageWriter(ImageReader)
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, 2014, Oracle and/or its affiliates. All rights reserved.