ImageItemData 類別 (gdiplusimaging.h)
ImageItemData類別可用來儲存和擷取自訂影像中繼資料。 Windows GDI+ 支援 JPEG、PNG 和 GIF 影像檔案的自訂中繼資料。
ImageItemData 具有下列類型的成員:
若要從映射檔擷取自訂中繼資料,請呼叫 Image::GetItemData。 若要將自訂中繼資料儲存在映射檔中,請遵循下列步驟:
- 建立並初始化 ImageItemData 物件。
- 建立 EncoderParameters 物件,此物件具有一或多個 EncoderParameter 物件的陣列。
- 針對陣列中的其中一個 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) |