Package javax.imageio
可以使用ImageIO
类的静态方法执行许多常见的图像I / O操作。
该软件包包含用于描述图像文件内容的基本类和接口,包括元数据和缩略图( IIOImage
); 用于控制图像读取处理( ImageReader
, ImageReadParam
,和ImageTypeSpecifier
)和图像写入处理( ImageWriter
和ImageWriteParam
); 用于执行格式之间的转码( ImageTranscoder
)和报告错误( IIOException
)。
javax.imageio的所有实现都提供以下标准图像格式插件:
Standard image format plug-ins Image format Reading Writing Notes Metadata BMP yes yes none BMP metadata format GIF yes yes GIF plug-in notes GIF metadata format JPEG yes yes none JPEG metadata format PNG yes yes none PNG metadata format TIFF yes yes TIFF plug-in notes TIFF metadata format WBMP yes yes none WBMP metadata format标准插件说明
Standard plug-in for GIF image format
ImageIO的提供ImageReader
和ImageWriter
插件为Graphics Interchange Format (GIF)的图像格式。
这些是“标准”GIF插件,意味着包含在JRE中的插件,与标准扩展插件或第三方插件中包含的插件不同。
以下注释和元数据规范适用于标准插件。
编写GIF图像
GIF图像编写器插件可保证无损写入图像,满足以下要求:- 波段数为1;
- 每个样本的比特数不大于8;
- 颜色分量的大小不大于8;
默认情况下,GIF编写器插件会创建版本“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 提供元数据转码功能的界面。 -
类摘要 类 描述 IIOImage 用于聚合图像的简单容器类,一组缩略图(预览)图像,以及表示与图像关联的元数据的对象。IIOParam 所有类的超类,描述如何解码或编码流。ImageIO 包含静态便捷方法的类,用于定位ImageReader
和ImageWriter
,并执行简单的编码和解码。ImageReader 用于解析和解码图像的抽象超类。ImageReadParam 描述如何解码流的类。ImageTypeSpecifier 允许以方便的方式指定图像格式(特别是其SampleModel
和ColorModel
)的类。ImageWriteParam 描述如何编码流的类。ImageWriter 用于编码和编写图像的抽象超类。 -
异常摘要 异常 描述 IIOException 用于表示读写操作的运行时故障的异常类。