public abstract class ImageWriterSpi extends ImageReaderWriterSpi
ImageWriters。对服务类的更多信息,见的
IIORegistry类类的评论。
每个ImageWriterSpi提供几种类型的信息的ImageWriter类与关联。
谁定义SPI类和简要说明类供应商的名称可以通过getVendorName,getDescription,和getVersion方法。这些方法可能是国际化的,提供特定区域的输出。这些方法的目的主要是提供短,人可写的信息可能被用来组织一个弹出菜单或其他列表。
格式名称,文件后缀列表,和MIME类型与服务相关的可能的getFormatNames,getFileSuffixes手段获得的,和getMIMEType方法。这些方法可以用来确定写一个特定的文件或基于手册的格式选择,流的候选人ImageWriters文件命名,或MIME协会。
确定ImageWriters可能可以分析特定数据流的canEncodeImage方法提供一个更可靠的方法。这种方法允许服务提供商检查实际的图像内容。
最后,与此相关的服务提供商ImageWriter类的实例可以通过调用createWriterInstance方法得到的。任何重量级的初始化,如本地库的加载或大表的创建,都应该推迟到该方法的第一次调用为止。
IIORegistry,
ImageTypeSpecifier,
ImageWriter
| Modifier and Type | Field and Description |
|---|---|
protected 类[] |
outputTypes
对
类对象数组返回
getOutputTypes,最初
null。
|
protected String[] |
readerSpiNames
字符串数组返回
getImageReaderSpiNames,最初
null。
|
static 类[] |
STANDARD_OUTPUT_TYPE
过时的。
而不是使用这个领域,直接创建等效阵列
{ ImageOutputStream.class }。
|
extraImageMetadataFormatClassNames, extraImageMetadataFormatNames, extraStreamMetadataFormatClassNames, extraStreamMetadataFormatNames, MIMETypes, names, nativeImageMetadataFormatClassName, nativeImageMetadataFormatName, nativeStreamMetadataFormatClassName, nativeStreamMetadataFormatName, pluginClassName, suffixes, supportsStandardImageMetadataFormat, supportsStandardStreamMetadataFormatvendorName, version| Modifier | Constructor and Description |
|---|---|
protected |
ImageWriterSpi()
建立一个空白
ImageWriterSpi。
|
|
ImageWriterSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String writerClassName, 类[] outputTypes, String[] readerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
构建一个给定的值的
ImageWriterSpi。
|
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
canEncodeImage(ImageTypeSpecifier type)
返回
true如果用这种服务提供商相关的
ImageWriter实施能够编码的图像与给定的布局。
|
boolean |
canEncodeImage(RenderedImage im)
返回
true如果用这种服务提供商相关的
ImageWriter实现可以编码给定的
RenderedImage实例。
|
ImageWriter |
createWriterInstance()
返回与该服务提供商相关的
ImageWriter实现的一个实例。
|
abstract ImageWriter |
createWriterInstance(Object extension)
返回与该服务提供商相关的
ImageWriter实现的一个实例。
|
String[] |
getImageReaderSpiNames()
返回包含所有的完全限定名,所有的
ImageReaderSpi类可以理解这个服务提供商相关的
ImageWriter使用内部元数据表示
Strings数组,或
null如果没有这样的
ImageReaders指定。
|
类[] |
getOutputTypes()
返回
类对象说明什么类型的对象可以作为作家的
setOutput方法的参数数组。
|
boolean |
isFormatLossless()
返回
true如果格式,笔者输出像素数据位准确保留。
|
boolean |
isOwnWriter(ImageWriter writer)
返回
true如果通过在
ImageWriter对象是与此相关的服务提供商
ImageWriter实例。
|
getExtraImageMetadataFormatNames, getExtraStreamMetadataFormatNames, getFileSuffixes, getFormatNames, getImageMetadataFormat, getMIMETypes, getNativeImageMetadataFormatName, getNativeStreamMetadataFormatName, getPluginClassName, getStreamMetadataFormat, isStandardImageMetadataFormatSupported, isStandardStreamMetadataFormatSupportedgetDescription, getVendorName, getVersion, onDeregistration, onRegistration@Deprecated public static final 类[] STANDARD_OUTPUT_TYPE
{ ImageOutputStream.class }。
ImageOutputStream.class,归还从
getOutputTypes。
protected 类[] outputTypes
类对象数组返回
getOutputTypes,最初
null。
protected String[] readerSpiNames
getImageReaderSpiNames,最初
null。
protected ImageWriterSpi()
ImageWriterSpi。它是由子类初始化实例变量和/或重写方法实现,以提供所有方法的工作版本。
public ImageWriterSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String writerClassName, 类[] outputTypes, String[] readerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
ImageWriterSpi。
vendorName -供应商的名称,作为一个非
null
String。
version -一个版本标识,作为一种非
null
String。
names -非-
Strings指示格式名称
null阵列。至少有一个条目必须存在。
suffixes -
Strings表示普通文件后缀数组。如果没有定义后缀,
null应提供。长度为0的数组将被归到
null。
MIMETypes -
Strings指示格式的MIME类型的数组。如果没有定义后缀,
null应提供。长度为0的数组将被归到
null。
writerClassName -相关
ImageWriterSpi类的完全限定名,作为一个非
null
String。
outputTypes -数组对象的长度至少为1
类指示法律输出类型。
readerSpiNames的长度至少为1命名所有相关
ImageReaders类数组
Strings,或
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
writerClassName
IllegalArgumentException。
IllegalArgumentException -如果
outputTypes是
null或长度为0。
public boolean isFormatLossless()
true如果格式,笔者输出像素数据位准确保留。默认的实现返回
true。
true如果格式保留全像素精度。
public 类[] getOutputTypes()
类对象说明什么类型的对象可以作为作家的
setOutput方法的参数数组。
对于大多数作家,只输出一个ImageOutputStream,单个元素的数组包含ImageOutputStream.class应该归还。
类objects
null数组长度。
public abstract boolean canEncodeImage(ImageTypeSpecifier type)
true如果用这种服务提供商相关的
ImageWriter实施能够编码的图像与给定的布局。布局(即,图像的
SampleModel和
ColorModel)是由一个
ImageTypeSpecifier对象描述。
一个true返回值不是绝对保证成功的编码;编码过程中仍可能产生由于I/O错误因素的错误,不一致的或不正确的数据结构,等的意图是,以确定它是否是在编码格式的范围图像的基本结构一个合理的检查是。例如,对于一个仅能编码灰度格式服务提供商如果把RGB BufferedImage返回false。同样,一个编码位RGB图像可能会拒绝编码与相关的alpha通道的图像格式的服务提供商。
不同的ImageWriters,从而服务提供者可以选择更严格。例如,他们可能会进行α-即使它必须划分出每个像素接受的形象,在一定的精度损失,为了保存。
type指定要写入的图像布局
ImageTypeSpecifier。
true如果这个作家可能与给定的布局图像编码。
null
type
IllegalArgumentException。
public boolean canEncodeImage(RenderedImage im)
true如果用这种服务提供商相关的
ImageWriter实现可以编码给定的
RenderedImage实例。请注意,这包括
java.awt.image.BufferedImage
看到对这一方法的语义信息canEncodeImage(ImageTypeSpecifier)讨论。
im -
RenderedImage实例进行编码。
true如果这个作者可能是能够编码图像。
null
im
IllegalArgumentException。
public ImageWriter createWriterInstance() throws IOException
ImageWriter实现的一个实例。返回的对象将首先在初始状态,如果其
reset方法被称为。
默认的实现简单的返回createWriterInstance(null)。
ImageWriter实例。
IOException -如果在加载过程中发生错误,或初始化的作家班,或在实例化和初始化对象的作家。
public abstract ImageWriter createWriterInstance(Object extension) throws IOException
ImageWriter实现的一个实例。返回的对象将首先在初始状态,如果其
reset方法被称为。
一个Object可施工时间提供给插件。对象的性质完全是插件特定的。
通常,一个插件将使用代码如return new MyImageWriter(this)实现这个方法。
extension -插件特定的扩展对象,这可能是
null。
ImageWriter实例。
IOException如果试图实例化作家失败。
IllegalArgumentException -如果
ImageWriter的构造函数抛出
IllegalArgumentException表明扩展对象是不合适的。
public boolean isOwnWriter(ImageWriter writer)
true如果
ImageWriter对象传递是与此相关的服务提供商
ImageWriter实例。
writer -
ImageWriter实例。
true如果
writer是公认的
null
writer
IllegalArgumentException。
public String[] getImageReaderSpiNames()
ImageReaderSpi类可以理解这个服务提供商相关的
ImageWriter使用内部元数据表示
Strings数组,或
null如果没有这样的
ImageReaders指定。如果非
null返回值,它必须具有非零长度。
数组中的第一项必须为“首选”的读者服务提供商的名称,因为它会被用来实例化ImageReader返回ImageIO.getImageReader(ImageWriter)。
这种机制可以用来获得ImageReaders将生成的非像素数据(见IIOExtraDataInfo)结构中的ImageWriter理解。通过读取图像从一个用这种方法获得的ImageReaders并把它传递给ImageWriter获取数据,客户端程序可以读取图像,修改它,以某种方式,把它写出来保存所有的元数据,而无需了解数据的内部结构的东西,或即使是关于图像格式。
ImageReaderSpis
Strings数组,或
null。
ImageIO.getImageReader(ImageWriter),
ImageReaderSpi.getImageWriterSpiNames()
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.