IWICFastMetadataEncoder 接口 (wincodec.h)
公开用于就地元数据编辑的方法。 使用快速元数据编码器可以向图像添加和删除元数据,而无需对图像进行完全重新编码。
继承
IWICFastMetadataEncoder 接口继承自 IUnknown 接口。 IWICFastMetadataEncoder 也有以下类型的成员:
方法
IWICFastMetadataEncoder 接口具有这些方法。
IWICFastMetadataEncoder::Commit 完成对图像流的元数据更改。 |
IWICFastMetadataEncoder::GetMetadataQueryWriter 检索元数据查询编写器以快速进行元数据编码。 |
注解
必须使用 WICDecodeMetadataCacheOnDemand 值创建解码器,才能执行就地元数据更新。 使用 WICDecodeMetadataCacheOnLoad 选项会导致解码器释放执行元数据更新所需的文件流。
并非所有元数据格式都支持快速元数据编码。 支持元数据的本机元数据处理程序是 IFD、Exif、XMP 和 GPS。
如果快速元数据编码器失败,则需要对图像进行完全重新编码才能添加元数据。
示例
下面演示如何从图像帧获取快速元数据编码器,并使用其查询编写器编写元数据项。
IWICFastMetadataEncoder *pFME = NULL;
IWICMetadataQueryWriter *pFMEQW = NULL;
hr = pFactory->CreateFastMetadataEncoderFromFrameDecode(pFrameDecode, &pFME);
if (SUCCEEDED(hr))
{
hr = pFME->GetMetadataQueryWriter(&pFMEQW);
}
if (SUCCEEDED(hr))
{
// Add additional metadata
PROPVARIANT value;
PropVariantInit(&value);
value.vt = VT_UI2;
value.uiVal = 99;
hr = pFMEQW->SetMetadataByName(L"/app1/ifd/{ushort=18249}", &value);
PropVariantClear(&value);
}
if (SUCCEEDED(hr))
{
hr = pFME->Commit();
}
要求
最低受支持的客户端 | Windows XP SP2,Windows Vista [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincodec.h |