Classe ImageItemData (gdiplusimaging.h)

A classe ImageItemData é usada para armazenar e recuperar metadados de imagem personalizados. O Windows GDI+ dá suporte a metadados personalizados para arquivos de imagem JPEG, PNG e GIF.

ImageItemData tem estes tipos de membros:

Comentários

Para recuperar metadados personalizados de um arquivo de imagem, chame Image::GetItemData. Para armazenar metadados personalizados em um arquivo de imagem, siga estas etapas:

  1. Crie e inicialize um objeto ImageItemData .
  2. Crie um objeto EncoderParameters que tenha uma matriz de um ou mais objetos EncoderParameter .
  3. Para um dos objetos EncoderParameter na matriz, defina o membro Value como o endereço do objeto ImageItemData . Defina os outros membros da seguinte maneira: Guid = EncoderImageItems, Type = EncoderParameterValueTypePointer, NumberOfValues = 1.
  4. Passe o endereço do objeto EncoderParameters para o método Image::Save de um objeto Image .

Exemplos

O exemplo a seguir salva um pedaço de metadados personalizados em um arquivo JPEG. O código depende de uma função auxiliar, GetEncoderClsid, para obter o identificador de classe para o codificador JPEG. Para ver o código-fonte de GetEncoderClsid, consulte Recuperando o identificador de classe para um 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 com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdiplusimaging.h (inclua Gdiplus.h)