ImageItemData 類別 (gdiplusimaging.h)

ImageItemData類別可用來儲存和擷取自訂影像中繼資料。 Windows GDI+ 支援 JPEG、PNG 和 GIF 影像檔案的自訂中繼資料。

ImageItemData 具有下列類型的成員:

備註

若要從映射檔擷取自訂中繼資料,請呼叫 Image::GetItemData。 若要將自訂中繼資料儲存在映射檔中,請遵循下列步驟:

  1. 建立並初始化 ImageItemData 物件。
  2. 建立 EncoderParameters 物件,此物件具有一或多個 EncoderParameter 物件的陣列。
  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)