模块 java.desktop
包 javax.imageio.metadata
包javax.imageio.metadata
处理读取和写入元数据的 Java Image I/O API 包。
读取图像时,其每个流和每个图像的元数据作为 IIOMetadata
对象提供。该对象的内部结构特定于创建它的插件。它的内容可以以 XML Document
的形式访问,它被实现为 IIOMetadataNode
对象的树。
写入图像时,可以通过定义或修改 IIOMetadata
对象来设置其元数据。这样的对象可以从 ImageWriter
或 ImageTranscoder
(来自 javax.imageio
包)获得。一旦获得了这样的对象,它的内容就可以通过由 IIOMetadataNode
组成的 Document
进行设置或修改。可以选择使用 IIOMetadataFormat
对象来描述文档格式。
XML Document
中包含的元数据格式由一个字符串标识,该字符串显示为 IIOMetadataNode
对象树的根节点。该字符串包含版本号,例如“javax_imageio_jpeg_image_1.0”。读取器和写入器可能支持相同基本格式的多个版本,并且图像 I/O API 具有允许通过将字符串传递给用于获取 IIOMetadata
对象的方法/构造函数来指定要使用的版本的方法。在某些情况下,更新的版本可能与期望使用旧版本编写的程序不严格兼容(例如,请参阅下面的 JPEG 元数据使用说明的本机元数据格式部分)。
插件可以选择支持 标准(插件中性)格式 。这种格式不提供元数据的无损编码,但允许以通用方式访问一部分元数据。
每个标准插件都支持所谓的“本机”元数据格式,该格式对其元数据进行无损编码:
- 自从:
- 1.4
-
类描述当
IIOMetadata
对象尝试解析IIOMetadataNode
的树失败时,将抛出IIOInvalidTreeException
。一个抽象类,由表示与图像和流关联的元数据(非图像数据)的对象扩展。由可以确定IIOMetadata
对象设置的对象实现的接口,可以通过建立 GUI 来从用户那里获取值,也可以通过其他方式。描述从IIOMetadata.getAsTree
返回并传递给IIOMetadata.setFromTree
和mergeTree
的元数据文档结构的对象。提供IIOMetadataFormat
接口的可重用实现的具体类。