IWICFastMetadataEncoder インターフェイス (wincodec.h)
インプレース メタデータ編集に使用されるメソッドを公開します。 高速メタデータ エンコーダーを使用すると、イメージを完全に再エンコードすることなく、画像にメタデータを追加および削除できます。
継承
IWICFastMetadataEncoder インターフェイスは、IUnknown インターフェイスから継承されます。 IWICFastMetadataEncoder には、次の種類のメンバーもあります。
メソッド
IWICFastMetadataEncoder インターフェイスには、これらのメソッドがあります。
IWICFastMetadataEncoder::Commit イメージ ストリームに対するメタデータの変更を最終処理します。 |
IWICFastMetadataEncoder::GetMetadataQueryWriter 高速メタデータ エンコード用のメタデータ クエリ ライターを取得します。 |
解説
インプレース メタデータ更新を実行するには、 WICDecodeOptions 値 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 |