Condividi tramite


Classe ImageItemData (gdiplusimaging.h)

La classe ImageItemData viene usata per archiviare e recuperare metadati di immagine personalizzati. Windows GDI+ supporta metadati personalizzati per i file di immagine JPEG, PNG e GIF.

ImageItemData include questi tipi di membri:

Commenti

Per recuperare metadati personalizzati da un file di immagine, chiamare Image::GetItemData. Per archiviare metadati personalizzati in un file di immagine, seguire questa procedura:

  1. Creare e inizializzare un oggetto ImageItemData .
  2. Creare un oggetto EncoderParameters con una matrice di uno o più oggetti EncoderParameter .
  3. Per uno degli oggetti EncoderParameter nella matrice, impostare il membro Value sull'indirizzo dell'oggetto ImageItemData . Impostare gli altri membri come indicato di seguito: Guid = EncoderImageItems, Type = EncoderParameterValueTypePointer, NumberOfValues = 1.
  4. Passare l'indirizzo dell'oggetto EncoderParameters al metodo Image::Save di un oggetto Image .

Esempio

Nell'esempio seguente viene salvata una parte di metadati personalizzati in un file JPEG. Il codice si basa su una funzione helper, GetEncoderClsid, per ottenere l'identificatore della classe per il codificatore JPEG. Per visualizzare il codice sorgente per GetEncoderClsid, vedere Recupero dell'identificatore di classe per un codificatore.

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);

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusimaging.h (include Gdiplus.h)