Freigeben über


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:

  1. Erstellen und initialisieren Sie ein ImageItemData-Objekt .
  2. Erstellen Sie ein EncoderParameters-Objekt , das über ein Array von mindestens einem EncoderParameter-Objekt verfügt .
  3. 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.
  4. Ü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)