Package javax.imageio
许多常见的图像I / O操作可以使用ImageIO
类的静态方法来执行。
此包包含用于描述图像文件内容的基本类和接口,包括元数据和缩略图( IIOImage
); 用于控制图像读取处理( ImageReader
, ImageReadParam
,和ImageTypeSpecifier
)和图像写入处理( ImageWriter
和ImageWriteParam
); 用于在格式( ImageTranscoder
)之间执行代码转换和用于报告错误( IIOException
)。
javax.imageio的所有实现都提供以下标准映像格式插件:
标准插件说明
Standard plug-in for GIF image format
ImageIO的提供ImageReader
和ImageWriter
插件为Graphics Interchange Format (GIF)的图像格式。
这些是“标准”GIF插件,意味着包含在JRE中的插件,与标准扩展中包含的插件或第三方插件不同。
以下注释和元数据规范适用于标准插件。
编写GIF图像
GIF图像编写器插件可保证满足以下要求的图像无损写入:- 频带数为1;
- 每个样本的位数不大于8;
- 颜色分量的大小不大于8;
默认情况下,GIF writer插件创建版本“89a”图像。 通过明确设置流元数据中的版本,可以将其更改为“87a”(请参阅GIF Stream Metadata Format Specification )。
GIF作家插件支持通过ImageWriter
类中定义的标准序列写入方法创建动画GIF图像。
如果满足以下条件之一,则将全局颜色表写入输出流:
- 提供包含GlobalColorTable元素的流元数据;
- 正在写入一个序列,并为序列中的第一个图像提供包含LocalColorTable元素的图像元数据;
- 图像元数据不提供或不包含LocalColorTable元素。
在第一种情况下,使用流元数据中的全局颜色表,在第二种情况下,使用图像元数据中的局部颜色表,在第三种情况下,从(第一)图像的ColorModel或SampleModel创建全局颜色表。
仅当将包含LocalColorTable元素的图像元数据提供给写入程序或将图像元数据未提供给写入器并且将从映像本身生成的本地颜色表不等于时,本地颜色表才会写入输出流全局颜色表。
只有将包含GraphicControlExtension元素的图像元素提供给写入程序,或者没有提供图像元数据,并且从图像生成的本地颜色表需要透明索引,则图形控制扩展块才会写入输出流。 应用程序,纯文本和注释扩展块只有通过图像元数据提供给写入程序时才会写入。
可以通过所提供的ImageWriteParam
实例的逐行模式来控制隔行图像的写入。 如果逐行模式为MODE_DISABLED
则将写入非隔行扫描图像。 如果逐行模式为MODE_DEFAULT
则将写入隔行扫描图像。 如果逐行模式为MODE_COPY_FROM_METADATA
,则使用元数据设置(如果提供,否则将写入隔行扫描图像)。
GIF图像编写器插件支持以原始GIF流元数据格式javax_imageio_gif_stream_1.0或标准元数据格式javax_imageio_1.0将提供给写入器的元数据的输出流元数据设置为,并将提供给作者的元数据的输出图像元数据设置为本地GIF图像元数据格式javax_imageio_gif_image_1.0或标准元数据格式javax_imageio_1.0 。 标准元数据格式到GIF本地流和图像元数据格式的映射在表here中给出 。
- 从以下版本开始:
- 1.4
-
接口摘要 接口 描述 IIOParamController 要由可以通过放置GUI以从用户获取值或通过其他方式确定IIOParam
对象的设置的对象来实现的接口。ImageTranscoder 提供元数据转码功能的界面。 -
类摘要 Class 描述 IIOImage 用于聚合图像的简单容器类,一组缩略图(预览)图像,以及表示与该图像相关联的元数据的对象。IIOParam 描述流如何解码或编码的所有类的超类。ImageIO 一个包含静态方便方法的类,用于定位ImageReader
和ImageWriter
,并执行简单的编码和解码。ImageReader 用于解析和解码图像的抽象超类。ImageReadParam 描述流如何解码的类。ImageTypeSpecifier 允许以方便的方式指定图像的格式(特别是其SampleModel
和ColorModel
)的类。ImageWriteParam 描述流如何编码的类。ImageWriter 用于编码和写入图像的抽象超类。 -
异常摘要 异常 描述 IIOException 用于发信号读取和写入操作失败的异常类。