- java.lang.Object
-
- javax.imageio.ImageWriter
-
- 实现的所有接口
-
ImageTranscoder
public abstract class ImageWriter extends Object implements ImageTranscoder
用于编码和编写图像的抽象超类。 此类必须由在Java Image I / O框架的上下文中写出图像的类子类化。ImageWriter
对象通常由服务提供者类为特定格式实例化。 服务提供者类在IIORegistry
中注册,使用它们进行格式识别和可用格式读取器和IIORegistry
器的呈现。- 另请参见:
-
ImageReader
,ImageWriteParam
,IIORegistry
,ImageWriterSpi
-
-
字段汇总
字段 变量和类型 字段 描述 protected Locale[]
availableLocales
的阵列Locale
可用于本地化警告消息和压缩设置值,或Snull
如果不支持定位。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
同义。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
ImageWriter(ImageWriterSpi originatingProvider)
构造一个ImageWriter
并将其originatingProvider
实例变量设置为提供的值。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 void
abort()
请求中止任何当前写入操作。protected boolean
abortRequested()
如果在实例化clearAbortRequest
或clearAbortRequest
已作出中止当前写入操作的请求,则返回true
。void
addIIOWriteProgressListener(IIOWriteProgressListener listener)
将IIOWriteProgressListener
添加到已注册的进度监听器列表中。void
addIIOWriteWarningListener(IIOWriteWarningListener listener)
将IIOWriteWarningListener
添加到已注册的警告侦听器列表中。boolean
canInsertEmpty(int imageIndex)
如果writer支持在给定索引处插入新的空图像,则返回true
。boolean
canInsertImage(int imageIndex)
如果writer支持在给定索引处插入新图像,则返回true
。boolean
canRemoveImage(int imageIndex)
如果writer支持删除给定索引处的现有图像,则返回true
。boolean
canReplaceImageMetadata(int imageIndex)
返回true
如果能够替换与现有的图像与索引相关联的图像元数据imageIndex
。boolean
canReplacePixels(int imageIndex)
如果true
允许使用replacePixels
方法替换给定图像的像素,则返回true
。boolean
canReplaceStreamMetadata()
如果可以替换输出中已存在的流元数据,则返回true
。boolean
canWriteEmpty()
如果编写器支持写入包含具有未定义像素值的单个图像以及关联的元数据和输出缩略图的完整图像流,则返回true
。boolean
canWriteRasters()
返回true
如果采取方法IIOImage
参数能够与处理的Raster
(相对于RenderedImage
)源图像。boolean
canWriteSequence()
如果true
器能够将图像附加到已包含标题信息和可能的先前图像的图像流,则返回true
。protected void
clearAbortRequest()
清除任何先前的中止请求。void
dispose()
允许释放此对象持有的任何资源。void
endInsertEmpty()
完成插入先前调用prepareInsertEmpty
开始的新图像。void
endReplacePixels()
终止一系列调用replacePixels
。void
endWriteEmpty()
完成先前致电prepareWriteEmpty
开始的新图像的写入。void
endWriteSequence()
完成以prepareWriteSequence
的一系列图像的prepareWriteSequence
。Locale[]
getAvailableLocales()
返回一个Locale
的数组,可用于本地化警告侦听器和压缩设置。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()
返回最近一次调用setOutput
方法设置的ImageOutputStream
或其他Object
。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)
广播本地化警告消息给所有注册IIOWriteWarningListener
通过调用它们的SwarningOccurred
法从拍摄字符串ResourceBundle
。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)
将单个图像以及可能关联的元数据和缩略图附加到输出。-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 javax.imageio.ImageTranscoder
convertImageMetadata, convertStreamMetadata
-
-
-
-
字段详细信息
-
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)
的构造(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
方法getOutputTypes
; 大多数编写器将返回仅包含ImageOutputStream.class
的单元素数组,以指示它们仅接受ImageOutputStream
。在检查
output
与原始提供程序通告的类集(如果有)之后,默认实现将output
实例变量设置为值output
。- 参数
-
output
-ImageOutputStream
或其他Object
用于将来的写作。 - 异常
-
IllegalArgumentException
- 如果output
不是原始服务提供商的getOutputTypes
方法返回的类之一的实例。 - 另请参见:
-
getOutput()
-
getOutput
public Object getOutput()
返回最近一次调用setOutput
方法设置的ImageOutputStream
或其他Object
。 如果未设置目标,则返回null
。默认实现返回
output
实例变量的值。- 结果
-
所述
Object
最近使用指定setOutput
,或null
。 - 另请参见:
-
setOutput(java.lang.Object)
-
getAvailableLocales
public Locale[] getAvailableLocales()
返回一个Locale
的数组,可用于本地化警告侦听器和压缩设置。 返回值null
表示不支持本地化。如果它是非
null
,则默认实现返回availableLocales
实例变量的克隆,否则返回null
。- 结果
-
Locale
的数组,Locale
setLocale
或null
参数。
-
setLocale
public void setLocale(Locale locale)
将此ImageWriter
的当前Locale
设置为给定值。 值null
将删除任何先前的设置,并指示null
应按其认为合适的方式进行本地化。默认实现针对
getAvailableLocales
返回的值检查locale
,并设置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())
。单个插件可能会返回
ImageWriteParam
的实例,并启用了其他可选功能,或者它们可能会返回特定于插件的子类ImageWriteParam
。- 结果
-
包含默认值的新
ImageWriteParam
对象。
-
getDefaultStreamMetadata
public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
返回包含用于编码图像流的默认值的IIOMetadata
对象。 可以使用IIOMetadata.getAsTree
方法返回的XML树结构,IIOMetadataController
对象或通过插件特定接口来操纵对象的内容,并将结果数据提供给采用流元数据参数的write
方法之一。可能会提供可选的
ImageWriteParam
以用于可能影响流元数据结构的情况。如果提供的
ImageWriteParam
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。不使用流元数据的编写器( 例如 ,单图像格式的编写器)应返回
null
。- 参数
-
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象。
-
getDefaultImageMetadata
public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
返回一个IIOMetadata
对象,其中包含用于编码给定类型的图像的默认值。 可以使用IIOMetadata.getAsTree
方法返回的XML树结构,IIOMetadataController
对象或通过插件特定接口来操纵对象的内容,并将结果数据提供给采用流元数据参数的write
方法之一。可以提供可选的
ImageWriteParam
用于可能影响图像元数据结构的情况。如果提供的
ImageWriteParam
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。- 参数
-
imageType
-ImageTypeSpecifier
指示稍后要写入的图像的格式。 -
param
-一个ImageWriteParam
将被用于对图像,或编码null
。 - 结果
-
一个
IIOMetadata
对象。
-
getNumThumbnailsSupported
public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
给定图像类型以及将在编码期间使用的任何其他写入参数和元数据对象,返回正在写入的格式支持的缩略图数。 返回值-1
表示可用信息不足。对于可能影响缩略图处理的情况,可以选择提供
ImageWriteParam
。如果提供的
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
的数组,指示缩略图图像的合法大小范围,因为它们将在输出文件或流中进行编码。 这些信息仅供参考; 作者将根据需要调整任何提供的缩略图的大小。信息作为一组对返回; 一对中的第一个元素包含(包含)最小宽度和高度,第二个元素包含(包含)最大宽度和高度。 每对都定义了有效的尺寸范围。 要指定固定大小,两个元素将显示相同的宽度和高度。 返回值
null
表示大小是任意的或未知的。可选择提供
ImageWriteParam
以用于可能影响缩略图处理的情况。如果提供的
ImageWriteParam
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。默认实现返回
null
。- 参数
-
imageType
-一个ImageTypeSpecifier
指示图像的类型将被写入,或null
。 -
param
-该ImageWriteParam
将被用于书写,或null
。 -
streamMetadata
- 将用于写入的IIOMetadata
对象,或null
。 -
imageMetadata
- 将用于写入的IIOMetadata
对象,或null
。 - 结果
-
Dimension
的数组,偶数长度至少为2,或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
包含此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
-RenderedImage
。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IllegalArgumentException
- 如果image
是null
。 -
IOException
- 如果在写入期间发生错误。
-
canWriteSequence
public boolean canWriteSequence()
如果true
器能够将图像附加到已包含标题信息和可能的先前图像的图像流,则返回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
方法预先设置输出。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发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
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发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
的一系列图像的prepareWriteSequence
。 写出应该出现在图像序列末尾的任何流元数据,并且必要时修补序列开头的任何头信息。 如果输出是ImageOutputStream
,则序列末尾的流元数据中的数据将被刷新,并且不需要是可读写的。如果
canWriteSequence
返回false
,则此方法将抛出UnsupportedOperationException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发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
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 参数
-
streamMetadata
- 表示流元数据的IIOMetadata
对象,或使用默认值的null
。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canReplaceStreamMetadata
返回false
。 模式不包括 -
IOException
- 如果在写入期间发生错误。
-
canReplaceImageMetadata
public boolean canReplaceImageMetadata(int imageIndex) throws IOException
返回true
如果能够替换与现有的图像与索引相关联的图像元数据imageIndex
。 如果此方法返回false
,则对replaceImageMetadata(imageIndex)
的调用将抛出UnsupportedOperationException
。不支持任何图像元数据替换的
false
可以返回false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的价值imageIndex
。- 参数
-
imageIndex
- 要替换其元数据的图像的索引。 - 结果
-
true
如果可以替换给定图像的图像元数据。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IndexOutOfBoundsException
- 如果IndexOutOfBoundsException
一般支持替换图像元数据,但imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
replaceImageMetadata
public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException
替换与现有图像关联的图像元数据。如果
canReplaceImageMetadata(imageIndex)
返回false
,将抛出UnsupportedOperationException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 参数
-
imageIndex
- 要替换其元数据的图像的索引。 -
imageMetadata
- 表示图像元数据的IIOMetadata
对象,或null
。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canReplaceImageMetadata
返回false
。 -
IndexOutOfBoundsException
- 如果imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在写入期间发生错误。
-
canInsertImage
public boolean canInsertImage(int imageIndex) throws IOException
如果writer支持在给定索引处插入新图像,则返回true
。 索引大于或等于插入索引的现有图像将其索引增加1.可以使用imageIndex
的-1
值来表示比当前最大索引大的索引。不支持任何图像插入的
false
可能会返回false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的价值imageIndex
。- 参数
-
imageIndex
- 要插入图像的索引。 - 结果
-
true
如果可以在给定索引处插入图像。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IndexOutOfBoundsException
- 如果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
包含此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
如果writer支持删除给定索引处的现有图像,则返回true
。 索引大于插入索引的现有图像的索引将减少1。不支持任何图像删除的
false
可能会返回false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的价值imageIndex
。- 参数
-
imageIndex
- 要删除的图像的索引。 - 结果
-
true
是否可以删除给定的图像。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IndexOutOfBoundsException
- 如果IndexOutOfBoundsException
通常支持图像删除,但imageIndex
小于0或大于最大可用索引。 -
IOException
- 如果在查询期间发生I / O错误。
-
removeImage
public void removeImage(int imageIndex) throws IOException
从流中删除图像。如果
canRemoveImage(imageIndex)
返回false,则抛出UnsupportedOperationException
。删除可能会也可能不会导致实际文件大小的减少。
默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发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
包含此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
调用endInsertEmpty
。 -
IllegalStateException
-如果一个呼叫prepareReiplacePixels
已经没有匹配的呼叫作出endReplacePixels
。 -
IOException
- 如果在写入期间发生I / O错误。
-
canInsertEmpty
public boolean canInsertEmpty(int imageIndex) throws IOException
如果writer支持在给定索引处插入新的空图像,则返回true
。 图像的像素值未定义,可以使用replacePixels
方法replacePixels
指定。 指数大于或等于插入指数的现有图像将其指数增加1.可以使用imageIndex
的-1
值来表示比当前最大指数大的指数。不支持插入空图像的
false
可能会返回false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的价值imageIndex
。- 参数
-
imageIndex
- 要插入图像的索引。 - 结果
-
true
如果可以在给定索引处插入空图像。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IndexOutOfBoundsException
- 如果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
的-1来表示比前一个最大索引大的索引; 也就是说,它会使图像以逻辑方式附加到序列的末尾。 如果输出是ImageOutputStream
,则整个流必须是可读写的。稍后可以使用
replacePixels
方法提供图像内容。 在调用endInsertEmpty
之前,插入尚未完成。 拨打prepareReplacePixels
,replacePixels
和endReplacePixels
可调用之间发生prepareInsertEmpty
和endInsertEmpty
。 然而,拨打prepareInsertEmpty
不能嵌套,并呼吁prepareWriteEmpty
和prepareInsertEmpty
可能不被穿插。如果
canInsertEmpty(imageIndex)
返回false
,则将抛出UnsupportedOperationException
。可选地,可以提供
ImageWriteParam
来控制写入过程。 如果param
是null
,将使用默认的写入参数。如果提供的
ImageWriteParam
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 参数
-
imageIndex
- 写入图像的索引。 -
imageType
- 描述图像布局的ImageTypeSpecifier
。 -
width
- 图像的宽度。 -
height
- 图像的高度。 -
imageMetadata
- 表示图像元数据的IIOMetadata
对象,或null
。 -
thumbnails
-List
ofBufferedImage
到这个图片的缩略图,或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
开始的新图像。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canInsertEmpty(imageIndex)
返回false
。 -
IllegalStateException
- 如果之前没有对prepareInsertEmpty
进行相应调用的endInsertEmpty
则尚未拨打。 -
IllegalStateException
- 如果之前没有对prepareWriteEmpty
进行相应调用,endWriteEmpty
调用endWriteEmpty
。 -
IllegalStateException
-如果一个呼叫prepareReplacePixels
已经没有匹配的呼叫作出endReplacePixels
。 -
IOException
- 如果在写入期间发生I / O错误。
-
canReplacePixels
public boolean canReplacePixels(int imageIndex) throws IOException
如果true
允许使用replacePixels
方法替换给定图像的像素,则返回true
。不支持任何像素替换的
false
可以返回false
而不对索引执行边界检查。默认的实现抛出
IllegalStateException
如果输出为null
,否则返回false
不检查的价值imageIndex
。- 参数
-
imageIndex
- 要替换像素的图像的索引。 - 结果
-
true
是否可以替换给定图像的像素。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
IndexOutOfBoundsException
- 如果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
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。此方法只能在调用
prepareReplacePixels
后调用,否则将抛出IllegalStateException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 参数
-
image
- 包含源像素的RenderedImage
。 -
param
-ImageWriteParam
或null
,使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果没有与prepareReplacePixels
匹配的呼叫,则之前没有呼叫endReplacePixels
。 -
IllegalArgumentException
- 如果满足以下任何条件,则:-
image
是null
。 - 相交区域不包含至少一个像素。
-
image
的布局不匹配,或者这个image
器无法将其转换为现有的图像布局。
-
-
IOException
- 如果在写入期间发生I / O错误。
-
replacePixels
public void replacePixels(Raster raster, ImageWriteParam param) throws IOException
用给定的Raster
的一部分替换输出中已存在的图像的一部分。 图像数据必须与现有图像的图像布局匹配或可转换为现有图像的图像布局。可选地,可以提供
ImageWriteParam
来控制写入过程。 如果param
是null
,将使用默认的写入参数。目标区域在
param
参数中指定,并将剪切到图像边界和提供给prepareReplacePixels
的区域。 不得剪切源的至少一个像素,否则抛出异常。如果提供的
ImageWriteParam
包含此ImageWriteParam
不支持的可选设置值( 例如,渐进式编码或任何特定于格式的设置),则将忽略它们。此方法只能在调用
prepareReplacePixels
后调用,否则将抛出IllegalStateException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 参数
-
raster
- 包含源像素的Raster
。 -
param
-ImageWriteParam
或null
使用默认值ImageWriteParam
。 - 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果之前没有与prepareReplacePixels
匹配的呼叫没有呼叫endReplacePixels
。 -
UnsupportedOperationException
- 如果canWriteRasters
返回false
。 -
IllegalArgumentException
- 如果满足以下任何条件,则:-
raster
是null
。 - 相交区域不包含至少一个像素。
-
raster
的布局不匹配,或者这个raster
器无法将其转换为现有的图像布局。
-
-
IOException
- 如果在写入期间发生I / O错误。
-
endReplacePixels
public void endReplacePixels() throws IOException
终止一系列调用replacePixels
。如果
canReplacePixels
返回false
,则将抛出UnsupportedOperationException
。默认的实现抛出
IllegalStateException
如果输出为null
,否则将引发UnsupportedOperationException
。- 异常
-
IllegalStateException
- 如果尚未设置输出。 -
UnsupportedOperationException
- 如果canReplacePixels(imageIndex)
返回false
。 -
IllegalStateException
- 如果之前没有调用prepareReplacePixels
而没有匹配的调用endReplacePixels
。 -
IOException
- 如果在写入期间发生I / O错误。
-
abort
public void abort()
请求中止任何当前写入操作。 中止后输出的内容将是未定义的。写入器应在每次写操作开始时调用
clearAbortRequest
,并在写入期间定期轮询abortRequested
的值。
-
abortRequested
protected boolean abortRequested()
如果在实例化clearAbortRequest
或clearAbortRequest
已作出中止当前写入操作的请求,则返回true
。- 结果
-
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
s。 子类可以使用此方法作为方便。- 参数
-
percentageDone
- 当前完成百分比,为float
。
-
processThumbnailComplete
protected void processThumbnailComplete()
通过调用thumbnailComplete
方法向所有已注册的IIOWriteProgressListener
广播缩略图写入的广播。 子类可以使用此方法作为方便。
-
processWriteAborted
protected void processWriteAborted()
通过调用writeAborted
方法广播写入已中止到所有已注册的IIOWriteProgressListener
s。 子类可以使用此方法作为方便。
-
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)
通过使用从ResourceBundle
获取的字符串调用其warningOccurred
方法,向所有已注册的IIOWriteWarningListener
广播本地化警告消息。 子类可以使用此方法作为方便。- 参数
-
imageIndex
- 发生警告的图像的索引。 -
baseName
- 包含本地化警告消息的一组ResourceBundle
的基本名称。 -
keyword
- 用于索引ResourceBundle
集合中的警告消息的关键字。 - 异常
-
IllegalArgumentException
- 如果baseName
是null
。 -
IllegalArgumentException
- 如果keyword
是null
。 -
IllegalArgumentException
- 如果找不到合适的ResourceBundle
。 -
IllegalArgumentException
- 如果在找到的ResourceBundle
找不到指定的资源。 -
IllegalArgumentException
- 如果从ResourceBundle
检索的对象不是String
。
-
reset
public void reset()
将ImageWriter
恢复到其初始状态。默认实现调用
setOutput(null)
,setLocale(null)
,removeAllIIOWriteWarningListeners()
,removeAllIIOWriteProgressListeners()
和clearAbortRequest
。
-
dispose
public void dispose()
允许释放此对象持有的任何资源。 在调用此方法之后调用任何其他方法(finalize
)的结果是未定义的。当应用程序知道他们将不再使用此方法时,调用此方法非常重要
ImageWriter
。 否则,作者可能会继续无限期地持有资源。超类中此方法的默认实现不执行任何操作。 子类实现应确保释放所有资源,尤其是本机资源。
-
-