Freigeben über


Image::GetPropertyItem-Methode (gdiplusheaders.h)

Die Image::GetPropertyItem-Methode ruft ein angegebenes Eigenschaftselement (Metadatenelement) aus diesem Image-Objekt ab.

Syntax

Status GetPropertyItem(
  [in]  PROPID       propId,
  [in]  UINT         propSize,
  [out] PropertyItem *buffer
);

Parameter

[in] propId

Typ: PROPID

Ganze Zahl, die das abzurufende Eigenschaftselement angibt.

[in] propSize

Typ: UINT

Eine ganze Zahl, die die Größe des abzurufenden Eigenschaftselements in Byte angibt. Rufen Sie die Image::GetPropertyItemSize-Methode auf, um die Größe zu bestimmen.

[out] buffer

Typ: PropertyItem*

Zeiger auf ein PropertyItem-Objekt , das das Eigenschaftselement empfängt.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Hinweise

Die Image::GetPropertyItem-Methode gibt ein PropertyItem-Objekt zurück. Bevor Sie Image::GetPropertyItem aufrufen, müssen Sie einen Puffer zuordnen, der groß genug ist, um dieses Objekt zu empfangen. Die Größe variiert je nach Datentyp und Wert des Eigenschaftselements. Sie können die Image::GetPropertyItemSize-Methode eines Image-Objekts aufrufen, um die Größe des erforderlichen Puffers in Bytes abzurufen.

Beispiele

Im folgenden Beispiel wird ein Image-Objekt basierend auf einer JPEG-Datei erstellt. Der Code ruft den Make der Kamera ab, die das Bild aufgenommen hat, indem die PropertyTagEquipMake-Konstante an die Image::GetPropertyItem-Methode des Image-Objekts übergeben wird.

#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;

INT main()
{
   GdiplusStartupInput gdiplusStartupInput;
   ULONG_PTR gdiplusToken;
   GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

   UINT size = 0;
   PropertyItem* propertyItem = NULL;
   Image* image = new Image(L"FakePhoto.jpg");

   // Assume that the image has a property item of type PropertyItemEquipMake.
   // Get the size of that property item.
   size = image->GetPropertyItemSize(PropertyTagEquipMake);

   // Allocate a buffer to receive the property item.
   propertyItem = (PropertyItem*)malloc(size);

   // Get the property item.
   image->GetPropertyItem(PropertyTagEquipMake, size, propertyItem);

   // Display the members of the retrieved PropertyItem object.
   printf("The length of the property item is %u.\n", propertyItem->length);
   printf("The data type of the property item is %u.\n", propertyItem->type);

   if(propertyItem->type == PropertyTagTypeASCII)
      printf("The value of the property item is %s.\n", propertyItem->value);

   free(propertyItem);
   delete image;
   GdiplusShutdown(gdiplusToken);
   return 0;
}

Der vorangehende Code hat zusammen mit einer bestimmten Datei FakePhoto.jpg die folgende Ausgabe erzeugt. Beachten Sie, dass der Datentyp 2 ist, der Wert der PropertyTagTypeASCII-Konstante, die in Gdiplusimaging.h definiert ist.

The length of the property item is 17.
The data type of the property item is 2.
The value of the property item is Northwind Traders.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusheaders.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Image

Image::GetAllPropertyItems

Image::GetPropertyCount

Image::GetPropertyIdList

Image::GetPropertyItemSize

Image::GetPropertySize

Image::RemovePropertyItem

Image::SetPropertyItem

PropertyItem

Lesen und Schreiben von Metadaten