ImageItemData クラス (gdiplusimaging.h)

ImageItemData クラスは、カスタム イメージ メタデータの格納と取得に使用されます。 Windows GDI+ では、JPEG、PNG、GIF イメージ ファイルのカスタム メタデータがサポートされています。

ImageItemData には、次の種類のメンバーがあります。

解説

イメージ ファイルからカスタム メタデータを取得するには、 Image::GetItemData を呼び出します。 カスタム メタデータをイメージ ファイルに格納するには、次の手順に従います。

  1. ImageItemData オブジェクトを作成して初期化します。
  2. 1 つ以上の EncoderParameter オブジェクトの配列を持つ EncoderParameters オブジェクトを 作成します。
  3. 配列内のいずれかの EncoderParameter オブジェクトに対して、Value メンバーを ImageItemData オブジェクトのアドレスに設定します。 その他のメンバーは、Guid = EncoderImageItems、Type = EncoderParameterValueTypePointer、NumberOfValues = 1 のように設定します。
  4. 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 を含む)