ImageItemData-Klasse (gdiplusimaging.h)
Die ImageItemData-Klasse wird verwendet, um benutzerdefinierte Bildmetadaten zu speichern und abzurufen. Windows GDI+ unterstützt benutzerdefinierte Metadaten für JPEG-, PNG- und GIF-Bilddateien.
ImageItemData verfügt über folgende Membertypen:
Hinweise
Um benutzerdefinierte Metadaten aus einer Bilddatei abzurufen, rufen Sie Image::GetItemData auf. Führen Sie die folgenden Schritte aus, um benutzerdefinierte Metadaten in einer Bilddatei zu speichern:
- Erstellen und initialisieren Sie ein ImageItemData-Objekt .
- Erstellen Sie ein EncoderParameters-Objekt , das über ein Array von mindestens einem EncoderParameter-Objekt verfügt .
- Legen Sie für eines der EncoderParameter-Objekte im Array den Value-Member auf die Adresse Ihres ImageItemData-Objekts fest. Legen Sie die anderen Member wie folgt fest: Guid = EncoderImageItems, Type = EncoderParameterValueTypePointer, NumberOfValues = 1.
- Übergeben Sie die Adresse des EncoderParameters-Objekts an die Image::Save-Methode eines Image-Objekts .
Beispiele
Im folgenden Beispiel wird ein Teil benutzerdefinierter Metadaten in einer JPEG-Datei gespeichert. Der Code basiert auf der Hilfsfunktion GetEncoderClsid, um den Klassenbezeichner für den JPEG-Encoder abzurufen. Den Quellcode für GetEncoderClsid finden Sie unter Abrufen des Klassenbezeichners für einen Encoder.
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);
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | gdiplusimaging.h (include Gdiplus.h) |