- java.lang.Object
-
- javax.imageio.ImageWriter
-
- All Implemented Interfaces:
-
ImageTranscoder
public abstract class ImageWriter extends Object implements ImageTranscoder
用于编码和写入图像的抽象超类。 该类必须由在Java Image I / O框架的上下文中写出图像的类子类化。ImageWriter
对象通常由服务提供商类针对特定格式实例化。 服务提供商类已注册到IIORegistry
,它们用于格式识别和呈现可用格式的读者和作者。- 另请参见:
-
ImageReader
,ImageWriteParam
,IIORegistry
,ImageWriterSpi
-
-
Field Summary
Fields Modifier and Type Field 描述 protected Locale[]
availableLocales
可用于本地化警告消息和压缩设置值的Locale
s阵列,如果不支持本地化,null
。protected Locale
locale
目前Locale
用于定位,或null
;如果没有设置。protected ImageWriterSpi
originatingProvider
该ImageWriterSpi
认为这个实例化对象,或者null
如果其身份未知或不存在。protected Object
output
所述ImageOutputStream
或其它Object
通过设置setOutput
,并通过检索getOutput
。protected List<IIOWriteProgressListener>
progressListeners
AList
当前注册的IIOWriteProgressListener
s,默认初始化为null
,这是一个空的List
代名词。protected List<IIOWriteWarningListener>
warningListeners
AList
当前注册的IIOWriteWarningListener
s,默认初始化为null
,这是一个空的List
代名词。protected List<Locale>
warningLocales
甲List
的Locale
S,一个用于的每个元素warningListeners
,默认情况下初始化null
,它与空同义List
。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
ImageWriter(ImageWriterSpi originatingProvider)
构造一个ImageWriter
并将其originatingProvider
实例变量设置为提供的值。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 void
abort()
请求中止任何当前的写入操作。protected boolean
abortRequested()
返回true
是否已经作出中止当前写入操作的请求自从writer被实例化或clearAbortRequest
被调用。void
addIIOWriteProgressListener(IIOWriteProgressListener listener)
在注册进度监听器列表中添加一个IIOWriteProgressListener
。void
addIIOWriteWarningListener(IIOWriteWarningListener listener)
将IIOWriteWarningListener
添加到已注册警告监听器的列表中。boolean
canInsertEmpty(int imageIndex)
如果作者支持在给定索引处插入新的空的图像,则返回true
。boolean
canInsertImage(int imageIndex)
如果作者支持在给定索引处插入新图像,则返回true
。boolean
canRemoveImage(int imageIndex)
如果作者支持在给定索引处删除现有图像,则返回true
。boolean
canReplaceImageMetadata(int imageIndex)
返回true
,如果它是可以替换与现有的图像与索引相关联的图像元数据imageIndex
。boolean
canReplacePixels(int imageIndex)
如果作者允许使用replacePixels
方法替换给定图像的像素,则返回true
。boolean
canReplaceStreamMetadata()
如果可以替换已经存在于输出中的流元数据,则返回true
。boolean
canWriteEmpty()
返回true
如果作者支持写入一个包含未定义像素值的单个图像的完整图像流,并将相关元数据和缩略图写入输出。boolean
canWriteRasters()
返回true
如果采取方法IIOImage
参数能够与处理的Raster
(相对于RenderedImage
)源图像。boolean
canWriteSequence()
如果作者能够将图像附加到已经包含标题信息和可能的先前图像的图像流中,则返回true
。protected void
clearAbortRequest()
清除任何先前的中止请求。abstract IIOMetadata
convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
返回可用于编码的IIOMetadata
对象,并可使用其文档接口或特定于将用于编码的写入程序插件的其他接口进行可选修改。abstract IIOMetadata
convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
返回可用于编码的IIOMetadata
对象,并可使用其文档接口或特定于将用于编码的writer插件的其他接口进行可选修改。void
dispose()
允许释放此对象持有的任何资源。void
endInsertEmpty()
完成插入一个以前调用prepareInsertEmpty
开始的新映像。void
endReplacePixels()
终止一系列调用replacePixels
。void
endWriteEmpty()
完成了以前致电prepareWriteEmpty
开始的新图像的写作。void
endWriteSequence()
完成prepareWriteSequence
开始的一系列图像的写作。Locale[]
getAvailableLocales()
返回可用于本地化警告侦听器和压缩设置的Locale
s的数组。abstract IIOMetadata
getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
返回一个包含用于对给定类型的图像进行编码的默认值的IIOMetadata
对象。abstract IIOMetadata
getDefaultStreamMetadata(ImageWriteParam param)
返回一个包含用于编码图像流的默认值的IIOMetadata
对象。ImageWriteParam
getDefaultWriteParam()
返回一个包含默认值的文件格式的适当类型的新的ImageWriteParam
对象,即,如果未指定ImageWriteParam
对象将使用的那些值。Locale
getLocale()
如果没有设置,返回当前设置的Locale
,或null
。int
getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
给定图像类型以及编码期间将要使用的任何其他写入参数和元数据对象,返回由正在写入的格式支持的缩略图数。ImageWriterSpi
getOriginatingProvider()
返回ImageWriterSpi
创建此对象ImageWriter
,或者null
如果这个对象不是通过创建IIORegistry
。Object
getOutput()
返回ImageOutputStream
或其他Object
由最近调用的setOutput
方法设置。Dimension[]
getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
返回Dimension
的数组,表示缩略图的合法大小范围,因为它们将被编码在输出文件或流中。void
prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
开始将未定义像素值的新图像插入到现有图像流中。void
prepareReplacePixels(int imageIndex, Rectangle region)
准备作者处理一系列对replacePixels
方法的调用。void
prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
开始将一个完整的图像流写入到包含未定义像素值的单个图像和关联的元数据和缩略图中。void
prepareWriteSequence(IIOMetadata streamMetadata)
使用提供的流元数据对象准备流以接受一系列后续的writeToSequence
调用。protected void
processImageComplete()
通过调用他们的imageComplete
方法广播完成对所有注册的IIOWriteProgressListener
的图像的写入。protected void
processImageProgress(float percentageDone)
通过调用其imageProgress
方法,将所有注册的IIOWriteProgressListener
的图像完成的当前百分比广播。protected void
processImageStarted(int imageIndex)
通过调用imageStarted
方法,将所有注册的IIOWriteProgressListener
的图像写入的开始广播。protected void
processThumbnailComplete()
通过调用thumbnailComplete
方法广播完成对所有注册的IIOWriteProgressListener
的缩略图写入。protected void
processThumbnailProgress(float percentageDone)
通过调用其thumbnailProgress
方法将所有已注册的IIOWriteProgressListener
的缩略图完成的当前百分比广播。protected void
processThumbnailStarted(int imageIndex, int thumbnailIndex)
通过调用thumbnailStarted
方法,向所有注册的IIOWriteProgressListener
缩略图写入的开始。protected void
processWarningOccurred(int imageIndex, String warning)
通过拨打warningOccurred
方法向所有注册的IIOWriteWarningListener
发送一条警告消息。protected void
processWarningOccurred(int imageIndex, String baseName, String keyword)
通过使用从ResourceBundle
获取的字符串调用其warningOccurred
方法向所有注册的IIOWriteWarningListener
发送本地化警告消息。protected void
processWriteAborted()
通过调用它们的writeAborted
方法广播已经中止所有注册的所有注册的IIOWriteProgressListener
。void
removeAllIIOWriteProgressListeners()
删除所有当前注册的IIOWriteProgressListener
对象。void
removeAllIIOWriteWarningListeners()
删除所有当前注册的IIOWriteWarningListener
对象。void
removeIIOWriteProgressListener(IIOWriteProgressListener listener)
从注册进度监听器列表中删除IIOWriteProgressListener
。void
removeIIOWriteWarningListener(IIOWriteWarningListener listener)
从注册的警告监听器列表中删除IIOWriteWarningListener
。void
removeImage(int imageIndex)
从流中删除图像。void
replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata)
替换与现有图像相关联的图像元数据。void
replacePixels(Raster raster, ImageWriteParam param)
用给定的Raster
的一部分替换已经存在于输出中的图像的一部分。void
replacePixels(RenderedImage image, ImageWriteParam param)
用给定图像的一部分替换已经存在于输出中的图像的一部分。void
replaceStreamMetadata(IIOMetadata streamMetadata)
用新信息替换输出中的流元数据。void
reset()
将ImageWriter
恢复到初始状态。void
setLocale(Locale locale)
将此ImageWriter
的当前Locale
设置为给定值。void
setOutput(Object output)
将目的地设置为给定的ImageOutputStream
或其他Object
。void
write(RenderedImage image)
将包含单个图像的完整图像流附加到输出的默认元数据和缩略图。void
write(IIOImage image)
将含有默认元数据和缩略图的单个图像的完整图像流附加到输出。abstract void
write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
将包含单个图像和关联流以及图像元数据和缩略图的完整图像流附加到输出。void
writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)
将新图像插入到现有图像流中。void
writeToSequence(IIOImage image, ImageWriteParam param)
将单个图像和可能关联的元数据和缩略图附加到输出。
-
-
-
字段详细信息
-
originatingProvider
protected ImageWriterSpi originatingProvider
该ImageWriterSpi
认为这个实例化对象,或者null
如果其身份未知或不存在。 默认情况下,它被初始化为null
。
-
output
protected Object output
所述ImageOutputStream
或其它Object
通过设置setOutput
,并通过检索getOutput
。 默认情况下,它被初始化为null
。
-
availableLocales
protected Locale[] availableLocales
的阵列Locale
可用于本地化警告消息和压缩设置值,或Snull
如果不支持定位。 默认情况下,它被初始化为null
。
-
locale
protected Locale locale
目前Locale
用于定位,或null
;如果没有设置。 默认情况下,它被初始化为null
。
-
warningListeners
protected List<IIOWriteWarningListener> warningListeners
AList
当前注册的IIOWriteWarningListener
s,默认初始化为null
,这是一个空的List
同义词。
-
warningLocales
protected List<Locale> warningLocales
甲List
的Locale
S,一个用于的每个元素warningListeners
,默认情况下初始化null
,它与空同义List
。
-
progressListeners
protected List<IIOWriteProgressListener> progressListeners
AList
当前注册的IIOWriteProgressListener
s,默认初始化为null
,这是空的List
代名词。
-
-
构造方法详细信息
-
ImageWriter
protected ImageWriter(ImageWriterSpi originatingProvider)
构造一个ImageWriter
并将其originatingProvider
实例变量设置为提供的值。使用扩展的子类应提供带有签名
(ImageWriterSpi, Object)
的构造函数,以检索扩展对象。 如果扩展对象不合适,则应抛出一个IllegalArgumentException
。- 参数
-
originatingProvider
-所述ImageWriterSpi
被构造该对象,或null
。
-
-
方法详细信息
-
getOriginatingProvider
public ImageWriterSpi getOriginatingProvider()
返回ImageWriterSpi
创建此对象ImageWriter
,或者null
如果这个对象不是通过创建IIORegistry
。默认实现返回值为
originatingProvider
实例变量。- 结果
-
一个
ImageWriterSpi
或null
。 - 另请参见:
-
ImageWriterSpi
-
setOutput
public void setOutput(Object output)
将目的地设置为给定的ImageOutputStream
或其他Object
。 假设目的地准备好接受数据,并且不会在每次写入结束时关闭。 这允许分布式成像应用程序通过单个网络连接传输一系列图像。 如果output
是null
,则任何当前设置的输出将被删除。如果
output
是ImageOutputStream
,调用到write
,writeToSequence
,和prepareWriteEmpty
/endWriteEmpty
方法将保留流的现有内容。 其它的写入方法,例如writeInsert
,replaceStreamMetadata
,replaceImageMetadata
,replacePixels
,prepareInsertEmpty
/endInsertEmpty
,和endWriteSequence
,所需要的流的全部内容是可读的和可写的,并且可以改变流的任何部分。的一般使用
Object
比其他ImageOutputStream
旨在用于直接与输出装置或图像协议交互的作家。 这套法律课由作者的服务提供者的getOutputTypes
方法发布; 大多数作家将返回一个仅包含ImageOutputStream.class
的单元素数组,表示它们只接受一个ImageOutputStream
。检查
output
之后,默认实现将output
的值设置为output
,与发起提供者发布的一组类别output
(如果有)。- 参数
-
output
-ImageOutputStream
或其他Object
用于将来的写作。 - 异常
-
IllegalArgumentException
- 如果output
不是由始发服务提供商的getOutputTypes
方法返回的类之一的实例。 - 另请参见:
-
getOutput()
-
getOutput
public Object getOutput()
返回ImageOutputStream
或其他Object
设置的最新调用setOutput
方法。 如果没有设置目的地,则返回null
。默认实现返回值为
output
实例变量。- 结果
-
所述
Object
最近使用指定setOutput
,或null
。 - 另请参见:
-
setOutput(java.lang.Object)
-
getAvailableLocales
public Locale[] getAvailableLocales()
返回可用于本地化警告侦听器和压缩设置的Locale
s的数组。 返回值为null
表示不支持本地化。如果它是非
null
,则默认实现将返回availableLocales
实例变量的克隆,否则返回null
。- 结果
-
可以用作
Locale
的参数的setLocale
,或null
。
-
setLocale
public void setLocale(Locale locale)
将此ImageWriter
的当前Locale
设置为给定值。 值null
删除任何以前的设置,并指示作者应将其视为合适的本地化。默认实现检查
locale
与getAvailableLocales
返回的值,并设置locale
实例变量(如果找到)。 如果locale
为null
,则实例变量设置为null
而不进行任何检查。- 参数
-
locale
- 期望的Locale
或null
。 - 异常
-
IllegalArgumentException
- 如果locale
不是null
但不是由getAvailableLocales
返回的值getAvailableLocales
。 - 另请参见:
-
getLocale()
-
getLocale
public Locale getLocale()
如果没有设置,返回当前设置的Locale
或null
。默认实现返回值为
locale
实例变量。- 结果
-
目前为
Locale
,或null
。 - 另请参见:
-
setLocale(java.util.Locale)
-
getDefaultWriteParam
public ImageWriteParam getDefaultWriteParam()
返回一个包含默认值的文件格式的适当类型的新的ImageWriteParam
对象,即,如果未指定ImageWriteParam
对象将使用的那些值。 这是一个起点,用于调整一些参数,否则只能保留默认设置。默认实现构造并返回不允许平铺,逐行编码或压缩的新的
ImageWriteParam
对象,并且将对当前的Locale
进行本地化( 即通过调用new ImageWriteParam(getLocale())
获得的new ImageWriteParam(getLocale())
。个别插件可能会返回一个
ImageWriteParam
的实例,并启用其他可选功能,否则可能会返回一个插件特定子类的ImageWriteParam
。- 结果
-
一个新的
ImageWriteParam
对象包含默认值。
-
getDefaultStreamMetadata
public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
返回包含用于编码图像流的默认值的IIOMetadata
对象。 可以使用由IIOMetadata.getAsTree
方法返回的XML树结构,IIOMetadataController
对象或通过插件特定接口来操纵对象的内容,并将得到的数据提供给采用流元数据参数的write
方法之一。可能会为可能影响流元数据结构的情况提供可选的
ImageWriteParam
。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。不使用流元数据的作者( 例如 ,单图像格式的作者)应返回
null
。- 参数
-
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象。
-
getDefaultImageMetadata
public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
返回一个包含用于对给定类型的图像进行编码的默认值的IIOMetadata
对象。 可以使用由IIOMetadata.getAsTree
方法返回的XML树结构,IIOMetadataController
对象或通过插件特定接口来操纵对象的内容,并将得到的数据提供给采用流元数据参数的write
方法之一。可能会为可能影响图像元数据结构的情况提供
ImageWriteParam
。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。- 参数
-
imageType
- 表示要稍后写入的图像格式的ImageTypeSpecifier
。 -
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象。
-
convertStreamMetadata
public abstract IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
描述从接口ImageTranscoder
复制返回可用于编码的IIOMetadata
对象,并可使用其文档接口或特定于将用于编码的写入程序插件的其他接口进行可选修改。可能会为可能影响流元数据结构的情况提供可选的
ImageWriteParam
。如果提供的
ImageWriteParam
包含此作者或代码转换器ImageWriteParam
可选设置值,它们将被忽略。- Specified by:
-
convertStreamMetadata
在接口ImageTranscoder
- 参数
-
inData
- 表示流元数据的IIOMetadata
对象,用于初始化返回对象的状态。 -
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象,或null
如果插件不提供元数据编码功能。
-
convertImageMetadata
public abstract IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
描述从接口ImageTranscoder
复制返回可用于编码的IIOMetadata
对象,并可以使用其文档接口或特定于将用于编码的writer插件的其他接口进行可选修改。可能会为可能影响图像元数据结构的情况提供可选的
ImageWriteParam
。如果提供的
ImageWriteParam
包含此写入器或代码转换器ImageWriteParam
可选设置值,它们将被忽略。- Specified by:
-
convertImageMetadata
在接口ImageTranscoder
- 参数
-
inData
- 表示图像元数据的IIOMetadata
对象,用于初始化返回对象的状态。 -
imageType
- 表示元数据将与之相关联的图像的布局和颜色信息的ImageTypeSpecifier
。 -
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象,或null
如果插件不提供元数据编码功能。
-
getNumThumbnailsSupported
public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
给定图像类型以及编码期间将要使用的任何其他写入参数和元数据对象,返回由正在写入的格式支持的缩略图数。 返回值为-1
表示信息不足。可以可选地为可能影响缩略图处理的情况提供一个
ImageWriteParam
。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。默认实现返回0。
- 参数
-
imageType
-一个ImageTypeSpecifier
指示图像的类型将被写入,或null
。 -
param
-在ImageWriteParam
将被用于书写,或null
。 -
streamMetadata
- 将用于写入的IIOMetadata
对象,或null
。 -
imageMetadata
- 将用于写入的IIOMetadata
对象,或null
。 - 结果
-
提供的参数可能写入的缩略图数量,如果信息不足,
-1
。
-
getPreferredThumbnailSizes
public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
返回Dimension
s的数组,表示缩略图的合法大小范围,因为它们将被编码在输出文件或流中。 这些信息只是咨询; 作者将根据需要调整所提供的缩略图大小。信息作为一组对返回; 一对的第一个元素包含(包括)最小宽度和高度,第二个元素包含(包含)最大宽度和高度。 在一起,每对都定义了一个有效的大小范围。 要指定固定的大小,这两个元素将显示相同的宽度和高度。 返回值为
null
表示大小是任意的或未知的。可以可选地为可能影响缩略图处理的情况提供
ImageWriteParam
。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。默认实现返回
null
。- 参数
-
imageType
-一个ImageTypeSpecifier
指示图像的类型将被写入,或null
。 -
param
-在ImageWriteParam
将被用于书写,或null
。 -
streamMetadata
- 将用于写入的IIOMetadata
对象,或null
。 -
imageMetadata
- 将用于写入的IIOMetadata
对象,或null
。 - 结果
-
Dimension
秒的阵列至少有两个,即null
。
-
canWriteRasters
public boolean canWriteRasters()
返回true
如果采取方法IIOImage
参数能够与处理的Raster
(相对于RenderedImage
)源图像。 如果此方法返回false
,那么这些方法将抛出UnsupportedOperationException
如果与供给IIOImage
含有Raster
。默认实现返回
false
。- 结果
-
true
如果支持Raster
源。
-
write
public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException
将包含单个图像和关联流以及图像元数据和缩略图的完整图像流附加到输出。 包括任何必要的标题信息。 如果输出为ImageOutputStream
,则其当前查找位置之前的现有内容不受影响,无需读取或写入。必须使用
setOutput
方法预先设置输出。可以可选地提供流元数据; 如果是
null
,将使用默认流元数据。如果
canWriteRasters
返回true
,则IIOImage
可能包含一个Raster
源码。 否则,它必须包含一个RenderedImage
源。如果需要,提供的缩略图将被调整大小,超过支持的数字的任何缩略图将被忽略。 如果格式需要未提供的附加缩略图,则作者应在内部生成它们。
可以可选地提供
ImageWriteParam
来控制写入过程。 如果param
为null
,则将使用默认的写入参数。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。- 参数
-
streamMetadata
- 表示流元数据的IIOMetadata
对象,或null
使用默认值。 -
image
- 包含要写入的图像,缩略图和元数据的IIOImage
对象。 -
param
- 一个ImageWriteParam
或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果image
包含一个Raster
和canWriteRasters
返回false
。 -
IllegalArgumentException
- 如果image
是null
。 -
IOException
- 写入时是否发生错误。
-
write
public void write(IIOImage image) throws IOException
将含有默认元数据和缩略图的单个图像的完整图像流附加到输出。 这个方法是write(null, image, null)
的缩写。- 参数
-
image
- 一个包含要写入的图像,缩略图和元数据的IIOImage
对象。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IllegalArgumentException
- 如果image
是null
。 -
UnsupportedOperationException
- 如果image
包含一个Raster
和canWriteRasters
返回false
。 -
IOException
- 如果写入时发生错误。
-
write
public void write(RenderedImage image) throws IOException
将包含单个图像的完整图像流附加到输出的默认元数据和缩略图。 该方法是write(null, new IIOImage(image, null, null), null)
的缩写。- 参数
-
image
- aRenderedImage
待写。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IllegalArgumentException
- 如果image
是null
。 -
IOException
- 如果写入时发生错误。
-
canWriteSequence
public boolean canWriteSequence()
如果作者能够将图像附加到已经包含标题信息和可能的先前图像的图像流中,则返回true
。如果
canWriteSequence
返回false
,则writeToSequence
和endWriteSequence
将会抛出一个UnsupportedOperationException
。默认实现返回
false
。- 结果
-
true
如果可以依次附加图像。
-
prepareWriteSequence
public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException
使用提供的流元数据对象准备流以接受一系列后续的writeToSequence
调用。 如果元数据应该在图像数据之前,则会将元数据写入流中。 如果参数为null
,则使用默认流元数据。如果输出为
ImageOutputStream
,则刷新当前查找位置之前的输出的现有内容,并且不需要可读写。 如果格式要求endWriteSequence
能够快退来补丁头信息,例如在单个TIFF文件中的一系列图像,则由该方法写入的元数据必须保留在流的可写部分。 其他格式可以在此方法之后和每个图像之后刷新流。如果
canWriteSequence
返回false
,这个方法会抛出一个UnsupportedOperationException
。必须使用
setOutput
方法事先设置输出。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则抛出一个UnsupportedOperationException
。- 参数
-
streamMetadata
- 流元数据对象,或null
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canWriteSequence
返回false
。 -
IOException
- 如果写入流元数据发生错误。
-
writeToSequence
public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException
将单个图像和可能关联的元数据和缩略图附加到输出。 如果输出为ImageOutputStream
,则当前查找位置之前的输出的现有内容可能被刷新,并且不需要读取或写入,除非当endWriteSequence
时插件需要能够修补标题信息( 例如 TIFF)。如果
canWriteSequence
返回false
,这个方法会抛出一个UnsupportedOperationException
。必须使用
setOutput
方法预先设置输出。prepareWriteSequence
必须事先调用,或者抛出一个IllegalStateException
。如果
canWriteRasters
返回true
,则IIOImage
可能包含Raster
源。 否则,它必须包含一个RenderedImage
源。如果需要,提供的缩略图将被调整大小,超过支持的数字的任何缩略图将被忽略。 如果格式需要未提供的附加缩略图,写入程序将在内部生成它们。
可以可选地提供
ImageWriteParam
以控制写入过程。 如果param
是null
,将使用默认的写参数。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 参数
-
image
- 包含要写入的图像,缩略图和元数据的IIOImage
对象。 -
param
- 一个ImageWriteParam
,或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置,或prepareWriteSequence
未被调用。 -
UnsupportedOperationException
- 如果canWriteSequence
返回false
。 -
IllegalArgumentException
- 如果image
是null
。 -
UnsupportedOperationException
- 如果image
包含一个Raster
和canWriteRasters
返回false
。 -
IOException
- 写入时是否发生错误。
-
endWriteSequence
public void endWriteSequence() throws IOException
完成prepareWriteSequence
开始的一系列图像的写作。 写出在图像序列结尾应该出现的任何流元数据,并且如果需要,则在序列开始处的任何头信息被修补。 如果输出是一个ImageOutputStream
,序列结尾的流元数据的数据被刷新,不需要读写。如果
canWriteSequence
返回false
,这个方法会抛出一个UnsupportedOperationException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果输出未设置,或prepareWriteSequence
尚未被调用。 -
UnsupportedOperationException
- 如果canWriteSequence
返回false
。 -
IOException
- 写入时是否发生错误。
-
canReplaceStreamMetadata
public boolean canReplaceStreamMetadata() throws IOException
如果可以替换已经存在于输出中的流元数据,则返回true
。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
。- 结果
-
true
如果允许流元数据的替换。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IOException
- 如果在查询期间发生I / O错误。
-
replaceStreamMetadata
public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException
用新信息替换输出中的流元数据。 如果输出是一个ImageOutputStream
,则流的先前内容被检查并且可能被编辑以为新数据腾出空间。 输出的所有先前内容必须可用于阅读和写入。如果
canReplaceStreamMetadata
返回false
,将抛出一个UnsupportedOperationException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 参数
-
streamMetadata
- 表示流元数据的IIOMetadata
对象,或null
使用默认值。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplaceStreamMetadata
返回false
。 模式不包括 -
IOException
- 写入时是否发生错误。
-
canReplaceImageMetadata
public boolean canReplaceImageMetadata(int imageIndex) throws IOException
返回true
,如果它是可以替换与现有的图像与索引相关联的图像元数据imageIndex
。 如果此方法返回false
,则呼叫replaceImageMetadata(imageIndex)
将会抛出一个UnsupportedOperationException
。不支持任何图像元数据替换的作者可以返回
false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的值imageIndex
。- 参数
-
imageIndex
- 要替换其元数据的图像的索引。 - 结果
-
true
如果可以替换给定图像的图像元数据。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IndexOutOfBoundsException
- 如果作者一般支持图像元数据替换,但imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
replaceImageMetadata
public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException
替换与现有图像相关联的图像元数据。如果
canReplaceImageMetadata(imageIndex)
返回false
,则会抛出UnsupportedOperationException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 参数
-
imageIndex
- 要替换其元数据的图像的索引。 -
imageMetadata
- 表示图像元数据的IIOMetadata
对象,或null
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplaceImageMetadata
返回false
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于0或大于最大可用索引。 -
IOException
- 写入时是否发生错误。
-
canInsertImage
public boolean canInsertImage(int imageIndex) throws IOException
如果作者支持在给定索引处插入新图像,则返回true
。 索引大于或等于插入索引的现有图像的索引将增加1.imageIndex
的-1
值可用于表示大于当前最大索引的索引。不支持任何图像插入的作者可能会返回
false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的值imageIndex
。- 参数
-
imageIndex
- 要插入图像的索引。 - 结果
-
如果可以在给定的索引处插入图像,
true
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IndexOutOfBoundsException
- 如果作者一般支持图像插入,但imageIndex
小于-1或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
writeInsert
public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param) throws IOException
将新图像插入到现有图像流中。 索引大于imageIndex
现有图像被保留,并且它们的索引各自增加1.对于imageIndex
-1的值可以用于表示大于先前最大索引的索引; 也就是说,它将使图像逻辑地附加到序列的末尾。 如果输出是一个ImageOutputStream
,整个流必须是可读写的。如果
canInsertImage(imageIndex)
返回false
,将抛出UnsupportedOperationException
。可以可选地提供
ImageWriteParam
来控制写入过程。 如果param
是null
,将使用默认的写参数。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。默认的实现抛出
IllegalStateException
如果输出为null
,否则会引发UnsupportedOperationException
。- 参数
-
imageIndex
- 写入图像的索引。 -
image
- 包含要写入的图像,缩略图和元数据的IIOImage
对象。 -
param
- 一个ImageWriteParam
,或null
使用默认ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canInsertImage(imageIndex)
返回false
。 -
IllegalArgumentException
- 如果image
是null
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于-1或大于最大可用索引。 -
UnsupportedOperationException
- 如果image
包含一个Raster
和canWriteRasters
返回false
。 -
IOException
- 写入时是否发生错误。
-
canRemoveImage
public boolean canRemoveImage(int imageIndex) throws IOException
如果作者支持在给定索引处删除现有图像,则返回true
。 索引大于插入索引的现有图像的索引将减少1。不支持任何图像删除的作者可以返回
false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的值imageIndex
。- 参数
-
imageIndex
- 要删除的图像的索引。 - 结果
-
true
如果可以删除给定的图像。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IndexOutOfBoundsException
- 如果作者一般支持图像删除,但imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
removeImage
public void removeImage(int imageIndex) throws IOException
从流中删除图像。如果
canRemoveImage(imageIndex)
返回false,将抛出一个UnsupportedOperationException
。删除可能会导致或可能不会导致实际文件大小的减少。
如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 参数
-
imageIndex
- 要删除的图像的索引。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canRemoveImage(imageIndex)
返回false
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在删除期间发生I / O错误。
-
canWriteEmpty
public boolean canWriteEmpty() throws IOException
如果作者支持写入一个包含未定义像素值的单个图像的完整图像流,并将相关元数据和缩略图写入输出,则返回true
。 可以通过将来调用replacePixels
方法来定义像素值。 如果输出为ImageOutputStream
,则其当前查找位置之前的现有内容不受影响,无需读取或写入。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
。- 结果
-
true
如果写入完整的图像流与后面要定义的内容被支持。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IOException
- 查询期间是否发生I / O错误。
-
prepareWriteEmpty
public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
开始将一个完整的图像流写入到包含未定义像素值的单个图像和关联的元数据和缩略图中。 像素值将由将来调用replacePixels
方法定义。 如果输出为ImageOutputStream
,则其当前查找位置之前的现有内容不受影响,不需要读取或写入。在
endWriteEmpty
发生呼叫之前,写入不完整。 调用prepareReplacePixels
,replacePixels
,并endReplacePixels
可调用之间发生prepareWriteEmpty
和endWriteEmpty
。 但是,对prepareWriteEmpty
调用不能嵌套,并且调用prepareWriteEmpty
和prepareInsertEmpty
可能不会散置。如果
canWriteEmpty
返回false
,将抛出UnsupportedOperationException
。可以可选地提供一个
ImageWriteParam
来控制写入过程。 如果param
为null
,则将使用默认的写参数。如果提供的
ImageWriteParam
包含此作者不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。默认的实现抛出
IllegalStateException
如果输出为null
,否则会引发UnsupportedOperationException
。- 参数
-
streamMetadata
- 表示流元数据的IIOMetadata
对象,或null
使用默认值。 -
imageType
- 描述图像布局的ImageTypeSpecifier
。 -
width
- 图像的宽度。 -
height
- 图像的高度。 -
imageMetadata
- 表示图像元数据的IIOMetadata
对象,或null
。 -
thumbnails
- 一个List
的BufferedImage
此图像的缩略图,或null
。 -
param
- 一个ImageWriteParam
或null
使用默认的ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canWriteEmpty
返回false
。 -
IllegalStateException
- 如果以前的电话是prepareWriteEmpty
,而没有对endWriteEmpty
的相应调用。 -
IllegalStateException
- 如果以前的电话是prepareInsertEmpty
,而没有对endInsertEmpty
的相应调用。 -
IllegalArgumentException
- 如果imageType
是null
或thumbnails
包含null
引用或BufferedImage
的对象。 -
IllegalArgumentException
- 如果宽度或高度小于1。 -
IOException
- 写入时是否发生I / O错误。
-
endWriteEmpty
public void endWriteEmpty() throws IOException
完成了以前致电prepareWriteEmpty
开始的新图像的写作。如果
canWriteEmpty()
返回false
,将抛出UnsupportedOperationException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则会引发UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canWriteEmpty(imageIndex)
返回false
。 -
IllegalStateException
- 如果以前拨打prepareWriteEmpty
没有对应的电话endWriteEmpty
尚未做出。 -
IllegalStateException
- 如果先前致电prepareInsertEmpty
没有相应的电话endInsertEmpty
已经做出了。 -
IllegalStateException
- 如果未对prepareReiplacePixels
进行匹配调用,endReplacePixels
拨打endReplacePixels
。 -
IOException
- 写入时是否发生I / O错误。
-
canInsertEmpty
public boolean canInsertEmpty(int imageIndex) throws IOException
如果作者支持在给定索引处插入新的空图像,则返回true
。 图像的像素值未定义,可以使用replacePixels
方法指定。 索引大于或等于插入索引的现有图像的索引将增加1.imageIndex
的-1
值可用于表示大于当前最大索引的索引。不支持插入空图像的作者可能会返回
false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的值imageIndex
。- 参数
-
imageIndex
- 要插入图像的索引。 - 结果
-
true
如果可以在给定索引处插入空图像。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IndexOutOfBoundsException
- 如果作者一般支持空图像插入,但imageIndex
小于-1或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
prepareInsertEmpty
public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
开始将未定义像素值的新图像插入到现有图像流中。 索引大于imageIndex
现有图像被保留,其索引各自增加1.可以使用imageIndex
的值表示大于前一大索引的索引; 也就是说,它将使图像逻辑地附加到序列的末尾。 如果输出为ImageOutputStream
,则整个流都必须是可读写的。以后可以使用
replacePixels
方法提供图像内容。 调用endInsertEmpty
之前,插入不完整。 调用prepareReplacePixels
,replacePixels
,并endReplacePixels
可调用之间发生prepareInsertEmpty
和endInsertEmpty
。 但是,拨打prepareInsertEmpty
不能嵌套,而对prepareWriteEmpty
和prepareInsertEmpty
可能不会散布。如果
canInsertEmpty(imageIndex)
返回false
,将抛出UnsupportedOperationException
。可以可选地提供
ImageWriteParam
来控制写入过程。 如果param
是null
,将使用默认的写参数。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或特定于格式的设置),它们将被忽略。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则抛出一个UnsupportedOperationException
。- 参数
-
imageIndex
- 写入图像的索引。 -
imageType
- 描述图像布局的ImageTypeSpecifier
。 -
width
- 图像的宽度。 -
height
- 图像的高度。 -
imageMetadata
- 表示图像元数据的IIOMetadata
对象,或null
。 -
thumbnails
- aList
的BufferedImage
此图片的缩略图,或null
。 -
param
- 一个ImageWriteParam
或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canInsertEmpty(imageIndex)
返回false
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于-1或大于最大可用索引。 -
IllegalStateException
- 如果以前的电话是prepareInsertEmpty
,而没有对endInsertEmpty
的相应调用。 -
IllegalStateException
- 如果以前的电话是prepareWriteEmpty
,而没有对endWriteEmpty
的相应调用。 -
IllegalArgumentException
- 如果imageType
是null
或thumbnails
包含null
引用或BufferedImage
的对象。 -
IllegalArgumentException
- 如果宽度或高度小于1。 -
IOException
- 写入时是否发生I / O错误。
-
endInsertEmpty
public void endInsertEmpty() throws IOException
完成插入一个以前调用prepareInsertEmpty
开始的新映像。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则会抛出一个UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canInsertEmpty(imageIndex)
返回false
。 -
IllegalStateException
- 如果以前没有对prepareInsertEmpty
进行相应调用的呼叫,则没有进行endInsertEmpty
。 -
IllegalStateException
- 如果先前致电prepareWriteEmpty
没有相应的调用endWriteEmpty
已经做出了。 -
IllegalStateException
-如果一个呼叫prepareReplacePixels
已经没有匹配的呼叫作出endReplacePixels
。 -
IOException
- 写入时是否发生I / O错误。
-
canReplacePixels
public boolean canReplacePixels(int imageIndex) throws IOException
如果作者允许使用replacePixels
方法替换给定图像的像素,则返回true
。不支持任何像素替换的作者可能会返回
false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的值imageIndex
。- 参数
-
imageIndex
- 要替换其像素的图像的索引。 - 结果
-
true
如果可以替换给定图像的像素。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
IndexOutOfBoundsException
- 如果作者一般支持像素替换,但imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
prepareReplacePixels
public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException
准备作者处理一系列对replacePixels
方法的电话。 受影响的像素区域将与所提供的像素区域相对如果
canReplacePixels
返回false
,将会抛出UnsupportedOperationException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则会引发UnsupportedOperationException
。- 参数
-
imageIndex
- 要替换其像素的图像的索引。 -
region
- 将用于剪辑未来像素区域的Rectangle
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于0或大于最大可用索引。 -
IllegalStateException
-如果以前调用prepareReplacePixels
没有相应地调用endReplacePixels
( 即嵌套是不允许的)。 -
IllegalArgumentException
- 如果region
为null
或宽度或高度小于1。 -
IOException
- 在准备过程中是否发生I / O错误。
-
replacePixels
public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException
用给定图像的一部分替换已经存在于输出中的图像的一部分。 图像数据必须匹配或可转换为现有图像的图像布局。目的地区域在
param
参数中指定,并将被剪切到图像边界和提供给prepareReplacePixels
的区域。 源的至少一个像素不能被裁剪,或抛出异常。可以可选地提供一个
ImageWriteParam
来控制写入过程。 如果param
是null
,将使用默认的写参数。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。此方法只能在调用
prepareReplacePixels
后调用,否则将抛出IllegalStateException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则抛出一个UnsupportedOperationException
。- 参数
-
image
- 一个包含源像素的RenderedImage
。 -
param
- 一个ImageWriteParam
,或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果没有以前的呼叫prepareReplacePixels
没有匹配的呼叫endReplacePixels
。 -
IllegalArgumentException
- 如果满足以下条件:-
image
是null
。 - 相交区域不包含至少一个像素。
-
image
的布局不匹配,或者这个作者不能将其转换为现有的图像布局。
-
-
IOException
- 写入时是否发生I / O错误。
-
replacePixels
public void replacePixels(Raster raster, ImageWriteParam param) throws IOException
用给定的Raster
的一部分替换已经存在于输出中的图像的一部分。 图像数据必须匹配或可转换为现有图像的图像布局。可以可选地提供
ImageWriteParam
来控制写入过程。 如果param
为null
,则将使用默认的写参数。目标区域在
param
参数中指定,并将被剪切到图像边界和提供给prepareReplacePixels
的区域。 源的至少一个像素不能被裁剪,或抛出异常。如果提供的
ImageWriteParam
包含此写入程序不支持的可选设置值( 例如逐行编码或任何特定于格式的设置),它们将被忽略。此方法只能在调用
prepareReplacePixels
后调用,否则将抛出IllegalStateException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则抛出一个UnsupportedOperationException
。- 参数
-
raster
- 包含源像素的Raster
。 -
param
- 一个ImageWriteParam
或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果以前没有拨打prepareReplacePixels
而没有匹配的呼叫到endReplacePixels
。 -
UnsupportedOperationException
- 如果canWriteRasters
返回false
。 -
IllegalArgumentException
- 如果满足以下条件:-
raster
是null
。 - 相交区域不包含至少一个像素。
-
raster
的布局不匹配,或者这个作者不能将其转换为现有的图像布局。
-
-
IOException
- 写入时是否发生I / O错误。
-
endReplacePixels
public void endReplacePixels() throws IOException
终止一个呼叫序列到replacePixels
。如果
canReplacePixels
返回false
,将会抛出UnsupportedOperationException
。如果输出为
null
,默认实现会抛出一个IllegalStateException
,否则抛出一个UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果输出未设置。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果以前没有拨打prepareReplacePixels
没有匹配的呼叫到endReplacePixels
。 -
IOException
- 写入时是否发生I / O错误。
-
abort
public void abort()
请求中止任何当前的写入操作。 中止输出后的内容将不确定。作者在每次写入操作开始时应调用
clearAbortRequest
,并在写入期间定期轮询abortRequested
的值。
-
abortRequested
protected boolean abortRequested()
返回true
是否已经作出中止当前写入操作的请求自从writer被实例化或clearAbortRequest
被调用。- 结果
-
true
如果当前写入操作应该中止。 - 另请参见:
-
abort()
,clearAbortRequest()
-
clearAbortRequest
protected void clearAbortRequest()
清除任何先前的中止请求。 此方法被调用后,abortRequested
将返回false
。- 另请参见:
-
abort()
,abortRequested()
-
addIIOWriteWarningListener
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
将IIOWriteWarningListener
添加到已注册的警告监听器列表中。 如果listener
为null
,则不会抛出异常,也不会采取任何措施。 发送给给定侦听器的消息将被本地化,如果可能,匹配当前的Locale
。 如果没有设置Locale
,警告消息可能会按照写入者的身份进行本地化。- 参数
-
listener
- 要注册的IIOWriteWarningListener
。 - 另请参见:
-
removeIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)
-
removeIIOWriteWarningListener
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
从注册的警告监听器列表中删除IIOWriteWarningListener
。 如果听众以前没有注册,或者如果listener
是null
,则不会抛出异常,也不会采取任何操作。- 参数
-
listener
- 要注销的IIOWriteWarningListener
。 - 另请参见:
-
addIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)
-
removeAllIIOWriteWarningListeners
public void removeAllIIOWriteWarningListeners()
删除所有当前注册的IIOWriteWarningListener
对象。默认实现将
warningListeners
和warningLocales
实例变量设置为null
。
-
addIIOWriteProgressListener
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
在注册进度侦听器列表中添加一个IIOWriteProgressListener
。 如果listener
是null
,将不会抛出异常,也不会采取任何行动。- 参数
-
listener
- 要注册的IIOWriteProgressListener
。 - 另请参见:
-
removeIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)
-
removeIIOWriteProgressListener
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
从注册进度侦听器列表中删除IIOWriteProgressListener
。 如果监听者以前没有注册,或者如果listener
是null
,则不会抛出异常,也不会采取任何行动。- 参数
-
listener
- 要注销的IIOWriteProgressListener
。 - 另请参见:
-
addIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)
-
removeAllIIOWriteProgressListeners
public void removeAllIIOWriteProgressListeners()
删除所有当前注册的IIOWriteProgressListener
对象。默认实现将
progressListeners
实例变量设置为null
。
-
processImageStarted
protected void processImageStarted(int imageIndex)
通过调用他们的imageStarted
方法,将所有注册的IIOWriteProgressListener
的图像写入的开始广播。 子类可以方便地使用这种方法。- 参数
-
imageIndex
- 要写入的图像的索引。
-
processImageProgress
protected void processImageProgress(float percentageDone)
通过调用其imageProgress
方法,将目前的图像完成百分比广播到所有注册的IIOWriteProgressListener
。 子类可以方便地使用这种方法。- 参数
-
percentageDone
- 目前的完成百分比,为float
。
-
processImageComplete
protected void processImageComplete()
通过调用imageComplete
方法,广播完成对所有注册的IIOWriteProgressListener
的图像写入。 子类可以方便地使用这种方法。
-
processThumbnailStarted
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
通过调用其thumbnailStarted
方法,将所有注册的IIOWriteProgressListener
的缩略图写入的开始广播。 子类可以方便地使用这种方法。- 参数
-
imageIndex
- 与缩略图关联的图像的索引。 -
thumbnailIndex
- 缩略图的索引。
-
processThumbnailProgress
protected void processThumbnailProgress(float percentageDone)
通过调用其thumbnailProgress
方法将所有已注册的IIOWriteProgressListener
的缩略图完成的当前百分比广播。 子类可以方便地使用这种方法。- 参数
-
percentageDone
- 目前的完成百分比,为float
。
-
processThumbnailComplete
protected void processThumbnailComplete()
通过调用thumbnailComplete
方法,广播完成对所有注册的IIOWriteProgressListener
的缩略图写入。 子类可以方便地使用这种方法。
-
processWriteAborted
protected void processWriteAborted()
通过调用它们的writeAborted
方法来广播已经中止所有注册的所有注册的IIOWriteProgressListener
。 子类可以方便地使用这种方法。
-
processWarningOccurred
protected void processWarningOccurred(int imageIndex, String warning)
通过致电warningOccurred
方式向所有注册的IIOWriteWarningListener
发送警告消息。 子类可以方便地使用这种方法。- 参数
-
imageIndex
- 发生警告的图像的索引。 -
warning
- 警告信息。 - 异常
-
IllegalArgumentException
- 如果warning
是null
。
-
processWarningOccurred
protected void processWarningOccurred(int imageIndex, String baseName, String keyword)
广播本地化警告消息给所有注册IIOWriteWarningListener
通过调用它们的SwarningOccurred
法从拍摄字符串ResourceBundle
。 子类可以方便地使用这种方法。- 参数
-
imageIndex
- 发生警告的图像的索引。 -
baseName
- 包含本地化警告消息的一组ResourceBundle
s的基本名称。 -
keyword
- 用于索引ResourceBundle
秒内的警告消息的关键字。 - 异常
-
IllegalArgumentException
- 如果baseName
是null
。 -
IllegalArgumentException
- 如果keyword
是null
。 -
IllegalArgumentException
- 如果不适合,可能会找到ResourceBundle
。 -
IllegalArgumentException
- 如果在位于的位置ResourceBundle
命名的资源ResourceBundle
。 -
IllegalArgumentException
- 如果从ResourceBundle
检索的对象不是String
。
-
reset
public void reset()
将ImageWriter
恢复到初始状态。默认实现调用
setOutput(null)
,setLocale(null)
,removeAllIIOWriteWarningListeners()
,removeAllIIOWriteProgressListeners()
,并clearAbortRequest
。
-
dispose
public void dispose()
允许释放此对象持有的任何资源。 在调用此方法之后调用其他方法(不包括finalize
)的结果未定义。当应用程序知道他们将不再使用此方法时,调用此方法很重要
ImageWriter
。 否则,作者可以继续无限期地持有资源。超类中的这个方法的默认实现什么都不做。 子类实现应确保释放所有资源,特别是本地资源。
-
-