Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |