ImageItemData クラス (gdiplusimaging.h)
ImageItemData クラスは、カスタム イメージ メタデータの格納と取得に使用されます。 Windows GDI+ では、JPEG、PNG、GIF イメージ ファイルのカスタム メタデータがサポートされています。
ImageItemData には、次の種類のメンバーがあります。
解説
イメージ ファイルからカスタム メタデータを取得するには、 Image::GetItemData を呼び出します。 カスタム メタデータをイメージ ファイルに格納するには、次の手順に従います。
- ImageItemData オブジェクトを作成して初期化します。
- 1 つ以上の EncoderParameter オブジェクトの配列を持つ EncoderParameters オブジェクトを 作成します。
- 配列内のいずれかの EncoderParameter オブジェクトに対して、Value メンバーを ImageItemData オブジェクトのアドレスに設定します。 その他のメンバーは、Guid = EncoderImageItems、Type = EncoderParameterValueTypePointer、NumberOfValues = 1 のように設定します。
- EncoderParameters オブジェクトのアドレスを Image オブジェクトの Image::Saveメソッドに渡します。
例
次の例では、カスタム メタデータの一部を JPEG ファイルに保存します。 このコードは、ヘルパー関数 GetEncoderClsid に依存して、JPEG エンコーダーのクラス識別子を取得します。 GetEncoderClsid のソース コードについては、「 エンコーダーのクラス識別子の取得」を参照してください。
CHAR myData[] = "Byte sequence of your choice";
BYTE description = 0xE4;
ImageItemData itemData;
itemData.Size = sizeof(itemData);
itemData.DescSize = 1;
itemData.Desc = &description;
itemData.DataSize = 28;
itemData.Data = (VOID*)myData;
itemData.Position = ItemDataPositionAfterHeader;
// Get the Clsid of the JPEG encoder.
CLSID encoderClsid;
GetEncoderClsid(L"image/jpeg", &encoderClsid);
EncoderParameters encoderParameters;
encoderParameters.Count = 1;
encoderParameters.Parameter[0].Guid = EncoderImageItems;
encoderParameters.Parameter[0].Type = EncoderParameterValueTypePointer;
encoderParameters.Parameter[0].NumberOfValues = 1;
encoderParameters.Parameter[0].Value = &itemData;
Image image(L"River.jpg");
image.Save(L"River2.jpg", &encoderClsid, &encoderParameters);
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusimaging.h (Gdiplus.h を含む) |