功能完整性:建议的接口

下表列出了原始编解码器应实现的 Windows 映像组件 (WIC) 接口。

接口 要求 说明
IWICBitmapDecoder 解码器 表示对图像文件进行解码的起点。 提供对容器级属性(如缩略图、框架和调色板)的访问。
IWICBitmapFrameDecode 解码器 表示容器中的特定图像帧,该帧提供对帧级属性的访问。 这是解码实际图像位的接口。
IWICMetadataBlockReader 解码器 用于枚举和循环访问元数据块,并在从图像文件中读取时调用相应的元数据读取器。

注意

如果 RAW 容器格式与 TIFF 兼容,或者使用标准 IFD 或 IRB 来存储 EXIF 或 XMP 元数据,则编解码器作者可以选择调用内置元数据读取器,而不是编写自己的读取器。

IWICBitmapSourceTransform 解码器 允许调用方为解码的图像指定所需的缩放、裁剪、旋转或像素格式,这可以显著提高解码器的性能。 例如,当目标位图小于源位图时,Microsoft 的 JPEG 和无线数据报协议 (WDP) 解码器使用棱锥优化方案来实现更快的解码。 Windows Vista (及更高版本) 将尝试使用此接口从原始图像中提取“快速”预览,只要嵌入预览缺失或最大尺寸小于 1,024 像素。
IWICDevelopRaw 解码器 RAW 格式是必需的。 公开特定于 RAW 图像处理的参数。 RAW 编解码器应支持适用于编解码器的任意数量的这些参数。
IWICBitmapEncoder 编码器 表示对图像文件进行编码的起点。 此接口用于设置容器级属性,例如缩略图、框架和调色板。 还需要调用元数据编写器才能对图像文件启用元数据持久性。 出于这些原因,即使不支持将主位图编码为 RAW 格式,此接口也是必需的。
IWICBitmapFrameEncode 编码器 表示容器中的特定图像帧。 此接口用于对实际图像位进行编码,并设置每帧的元数据和属性。
IWICMetadataBlockWriter 编码器 在序列化图像文件时循环访问元数据块和调用相应的元数据编写器时是必需的。

注意

如果 RAW 容器格式与 TIFF 兼容,则编解码器作者可以选择调用内置元数据编写器,而不是编写自己的元数据编写器。

 

概念性

Windows 映像组件概述

相机原始图像格式的 WIC 指南

如何编写WIC-Enabled编解码器