解码

若要正确支持元数据,解码器作者必须执行以下操作:

  • 实现 IWICBitmapDecoderIWICBitmapFrameDecode 接口。

  • 在帧解码器上实现 IWICMetadataBlockReader 。 如果编解码器支持容器级元数据,则必须在容器级解码器和帧解码器上实现此接口。

  • 解码图像流时,调用 IWICComponentFactory::CreateMetadataReaderFromContainer 来实例化每个元数据块的元数据读取器。 (编解码器实现的任何新元数据读取器都必须注册到 WIC.)

    解码器不应自行创建元数据读取器,而应使用 WIC 基于流中的元数据块创建它们。 解码器必须在找到的所有块上执行此操作,即使 docoder 本身并不了解它们,因为将来的元数据读取器可能会安装在知道如何处理这些元数据块的系统上。

  • 如果块没有元数据处理程序,请使用元数据创建选项实例化未知元数据读取器。

  • 通过 IWICMetadataBlockReader 接口公开元数据读取器集合。

概念性

Windows 映像组件概述

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

如何编写WIC-Enabled编解码器