Image::GetPropertyIdList-Methode (gdiplusheaders.h)
Die Image::GetPropertyIdList-Methode ruft eine Liste der Eigenschaftenbezeichner ab, die in den Metadaten dieses Image-Objekts verwendet werden.
Syntax
Status GetPropertyIdList(
[in] UINT numOfProperty,
[out] PROPID *list
);
Parameter
[in] numOfProperty
Typ: UINT
Ganzzahl, die die Anzahl der Elemente im Listenarray angibt. Rufen Sie die Image::GetPropertyCount-Methode auf, um diese Nummer zu bestimmen.
[out] list
Typ: PROPID*
Zeiger auf ein Array, das die Eigenschaftenbezeichner 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, gibt sie eines der anderen Elemente der Status-Enumeration zurück.
Hinweise
Die Image::GetPropertyIdList-Methode gibt ein Array von PROPIDs zurück. Bevor Sie Image::GetPropertyIdList aufrufen, müssen Sie einen Puffer zuordnen, der groß genug ist, um dieses Array zu empfangen. Sie können die Image::GetPropertyCount-Methode eines Image-Objekts aufrufen, um die Größe des erforderlichen Puffers zu bestimmen. Die Größe des Puffers sollte der Rückgabewert von Image::GetPropertyCount multipliziert mit sizeof( PROPID) sein.
Beispiele
Im folgenden Beispiel wird ein Image-Objekt basierend auf einer JPEG-Datei erstellt. Der Code ruft die Image::GetPropertyIdList-Methode dieses Image-Objekts auf, um herauszufinden, welche Metadatentypen im Image gespeichert sind.
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
INT main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
UINT count = 0;
Image* image = new Image(L"FakePhoto.jpg");
// How many types of metadata are in the image?
count = image->GetPropertyCount();
if(count == 0)
return 0;
// Allocate a buffer to receive an array of PROPIDs.
PROPID* propIDs = new PROPID[count];
image->GetPropertyIdList(count, propIDs);
// List the retrieved IDs.
for(UINT j = 0; j < count; ++j)
printf("%x\n", propIDs[j]);
delete [] propIDs;
delete image;
GdiplusShutdown(gdiplusToken);
return 0;
}
Der vorherige Code hat zusammen mit einer bestimmten Datei FakePhoto.jpg die folgende Ausgabe erzeugt:
320
10f
110
9003
829a
5090
5091
Die vorherige Ausgabe zeigt den Hexadezimalwert der einzelnen Eigenschaftenbezeichner an. Sie können diese Zahlen in Gdiplusimaging.h nachschlagen und herausfinden, dass sie die folgenden Eigenschaftentags darstellen.
Hexadezimalwert | Eigenschaftstag |
---|---|
0x0320 | PropertyTagImageTitle |
0x010f | PropertyTagEquipMake |
0x0110 | PropertyTagEquipModel |
0x9003 | PropertyTagExifDTOriginal |
0x829a | PropertyTagExifExposureTime |
0x5090 | PropertyTagLuminanceTable |
0x5091 | PropertyTagChrominanceTable |
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 |