Méthode Image ::GetPropertyIdList (gdiplusheaders.h)
La méthode Image ::GetPropertyIdList obtient une liste des identificateurs de propriété utilisés dans les métadonnées de cet objet Image .
Syntaxe
Status GetPropertyIdList(
[in] UINT numOfProperty,
[out] PROPID *list
);
Paramètres
[in] numOfProperty
Type : UINT
Entier qui spécifie le nombre d’éléments dans le tableau de liste . Appelez la méthode Image ::GetPropertyCount pour déterminer ce nombre.
[out] list
Type : PROPID*
Pointeur vers un tableau qui reçoit les identificateurs de propriété.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Remarques
La méthode Image ::GetPropertyIdList retourne un tableau de s PROPID. Avant d’appeler Image ::GetPropertyIdList, vous devez allouer une mémoire tampon suffisamment grande pour recevoir ce tableau. Vous pouvez appeler la méthode Image ::GetPropertyCount d’un objet Image pour déterminer la taille de la mémoire tampon requise. La taille de la mémoire tampon doit être la valeur de retour Image ::GetPropertyCount multipliée par sizeof( PROPID).
Exemples
L’exemple suivant crée un objet Image basé sur un fichier JPEG. Le code appelle la méthode Image ::GetPropertyIdList de cet objet Image pour savoir quels types de métadonnées sont stockés dans l’image.
#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;
}
Le code précédent, ainsi qu’un fichier particulier, FakePhoto.jpg, ont produit la sortie suivante :
320
10f
110
9003
829a
5090
5091
La sortie précédente affiche la valeur hexadécimale de chaque identificateur de propriété. Vous pouvez rechercher ces nombres dans Gdiplusimaging.h et découvrir qu’ils représentent les balises de propriété suivantes.
Valeur hexadécimale | Balise de propriété |
---|---|
0x0320 | PropertyTagImageTitle |
0x010f | PropertyTagEquipMake |
0x0110 | PropertyTagEquipModel |
0x9003 | PropertyTagExifDTOriginal |
0x829a | PropertyTagExifExposureTime |
0x5090 | PropertyTagLuminanceTable |
0x5091 | PropertyTagChrominanceTable |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusheaders.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |