Module  java.desktop

Package javax.imageio

Java Image I / O API的主要包。

许多常见的图像I / O操作可以使用ImageIO类的静态方法来执行。

此包包含用于描述图像文件内容的基本类和接口,包括元数据和缩略图( IIOImage ); 用于控制图像读取处理( ImageReaderImageReadParam ,和ImageTypeSpecifier )和图像写入处理( ImageWriterImageWriteParam ); 用于在格式( ImageTranscoder )之间执行代码转换和用于报告错误( IIOException )。

javax.imageio的所有实现都提供以下标准映像格式插件:

  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的提供ImageReaderImageWriter插件为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