public abstract class ImageWriterSpi extends ImageReaderWriterSpi
ImageWriter
s。对服务类的更多信息,见的
IIORegistry
类类的评论。
每个ImageWriterSpi
提供几种类型的信息的ImageWriter
类与关联。
谁定义SPI类和简要说明类供应商的名称可以通过getVendorName
,getDescription
,和getVersion
方法。这些方法可能是国际化的,提供特定区域的输出。这些方法的目的主要是提供短,人可写的信息可能被用来组织一个弹出菜单或其他列表。
格式名称,文件后缀列表,和MIME类型与服务相关的可能的getFormatNames
,getFileSuffixes
手段获得的,和getMIMEType
方法。这些方法可以用来确定写一个特定的文件或基于手册的格式选择,流的候选人ImageWriter
s文件命名,或MIME协会。
确定ImageWriter
s可能可以分析特定数据流的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, supportsStandardStreamMetadataFormat
vendorName, 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 使用内部元数据表示
String s数组,或
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, isStandardStreamMetadataFormatSupported
getDescription, 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
-非-
String
s指示格式名称
null
阵列。至少有一个条目必须存在。
suffixes
-
String
s表示普通文件后缀数组。如果没有定义后缀,
null
应提供。长度为0的数组将被归到
null
。
MIMETypes
-
String
s指示格式的MIME类型的数组。如果没有定义后缀,
null
应提供。长度为0的数组将被归到
null
。
writerClassName
-相关
ImageWriterSpi
类的完全限定名,作为一个非
null
String
。
outputTypes
-数组对象的长度至少为1
类
指示法律输出类型。
readerSpiNames
的长度至少为1命名所有相关
ImageReader
s类数组
String
s,或
null
。长度为0的数组是归一化
null
。
supportsStandardStreamMetadataFormat
-
boolean
指示数据流对象可以使用标准的元数据格式描述的树。
nativeStreamMetadataFormatName
-
String
,或
null
,归还从
getNativeStreamMetadataFormatName
。
nativeStreamMetadataFormatClassName
-
String
,或
null
,用来实例化一个元数据格式对象被返回
getNativeStreamMetadataFormat
。
extraStreamMetadataFormatNames
-
String
s,数组或
null
,归还从
getExtraStreamMetadataFormatNames
。长度为0的数组是归一化
null
。
extraStreamMetadataFormatClassNames
-
String
s,数组或
null
,用来实例化一个元数据格式对象被返回
getStreamMetadataFormat
。长度为0的数组是归一化
null
。
supportsStandardImageMetadataFormat
-
boolean
指示图像元数据对象可以使用标准的元数据格式描述的树。
nativeImageMetadataFormatName
-
String
,或
null
,归还从
getNativeImageMetadataFormatName
。
nativeImageMetadataFormatClassName
-
String
,或
null
,用来实例化一个元数据格式对象被返回
getNativeImageMetadataFormat
。
extraImageMetadataFormatNames
-
String
s归还从
getExtraImageMetadataFormatNames
数组。长度为0的数组是归一化
null
。
extraImageMetadataFormatClassNames
-
String
s,数组或
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通道的图像格式的服务提供商。
不同的ImageWriter
s,从而服务提供者可以选择更严格。例如,他们可能会进行α-即使它必须划分出每个像素接受的形象,在一定的精度损失,为了保存。
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
使用内部元数据表示
String
s数组,或
null
如果没有这样的
ImageReaders
指定。如果非
null
返回值,它必须具有非零长度。
数组中的第一项必须为“首选”的读者服务提供商的名称,因为它会被用来实例化ImageReader
返回ImageIO.getImageReader(ImageWriter)
。
这种机制可以用来获得ImageReaders
将生成的非像素数据(见IIOExtraDataInfo
)结构中的ImageWriter
理解。通过读取图像从一个用这种方法获得的ImageReaders
并把它传递给ImageWriter
获取数据,客户端程序可以读取图像,修改它,以某种方式,把它写出来保存所有的元数据,而无需了解数据的内部结构的东西,或即使是关于图像格式。
ImageReaderSpi
s
String
s数组,或
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.