Share via


Clase ImageItemData (gdiplusimaging.h)

La clase ImageItemData se usa para almacenar y recuperar metadatos de imagen personalizados. Windows GDI+ admite metadatos personalizados para archivos de imagen JPEG, PNG y GIF.

ImageItemData tiene estos tipos de miembros:

Comentarios

Para recuperar metadatos personalizados de un archivo de imagen, llame a Image::GetItemData. Para almacenar metadatos personalizados en un archivo de imagen, siga estos pasos:

  1. Cree e inicialice un objeto ImageItemData .
  2. Cree un objeto EncoderParameters que tenga una matriz de uno o varios objetos EncoderParameter .
  3. Para uno de los objetos EncoderParameter de la matriz, establezca el miembro Value en la dirección del objeto ImageItemData . Establezca los demás miembros de la siguiente manera: Guid = EncoderImageItems, Type = EncoderParameterValueTypePointer, NumberOfValues = 1.
  4. Pase la dirección del objeto EncoderParameters al método Image::Save de un objeto Image .

Ejemplos

En el ejemplo siguiente se guarda un fragmento de metadatos personalizados en un archivo JPEG. El código se basa en una función auxiliar, GetEncoderClsid, para obtener el identificador de clase del codificador JPEG. Para ver el código fuente de GetEncoderClsid, consulte Recuperación del identificador de clase de un codificador.

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

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusimaging.h (include Gdiplus.h)