Classe ImageItemData (gdiplusimaging.h)
La classe ImageItemData est utilisée pour stocker et récupérer des métadonnées d’image personnalisées. Windows GDI+ prend en charge les métadonnées personnalisées pour les fichiers image JPEG, PNG et GIF.
ImageItemData a les types de membres suivants :
Notes
Pour récupérer des métadonnées personnalisées à partir d’un fichier image, appelez Image::GetItemData. Pour stocker des métadonnées personnalisées dans un fichier image, procédez comme suit :
- Créez et initialisez un objet ImageItemData .
- Créez un objet EncoderParameters qui a un tableau d’un ou plusieurs objets EncoderParameter .
- Pour l’un des objets EncoderParameter dans le tableau, définissez le membre Value sur l’adresse de votre objet ImageItemData . Définissez les autres membres comme suit : Guid = EncoderImageItems, Type = EncoderParameterValueTypePointer, NumberOfValues = 1.
- Passez l’adresse de l’objet EncoderParameters à la méthode Image::Save d’un objet Image .
Exemples
L’exemple suivant enregistre un morceau de métadonnées personnalisées dans un fichier JPEG. Le code s’appuie sur une fonction d’assistance, GetEncoderClsid, pour obtenir l’identificateur de classe de l’encodeur JPEG. Pour voir le code source de GetEncoderClsid, consultez Récupération de l’identificateur de classe pour un encodeur.
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);
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusimaging.h (include Gdiplus.h) |