GdipGetAllPropertyItems()



Syntaxe
Resultat.i = GdipGetAllPropertyItems(*image, totalBufferSize.l, numProperties.l, *allItems.PropertyItem)
Paramètres
*image

[in] Pointeur sur un objet image. 

totalBufferSize.l

[in] Variable de type Long qui spécifie la taille en octets de la mémoire pointée par *allItems. Utilisez la fonction GdipGetPropertySize pour obtenir cette taille.

numProperties.l

[in] Variable de type Long qui spécifie le nombre de propriétés de l'image. Utilisez la fonction GdipGetPropertySize pour obtenir ce nombre.

*allItems.PropertyItem

[out] Pointeur de type PropertyItem qui pointe sur la zone mémoire allouée qui recevra les éléments des propriétés de l'image.

Description

Cette fonction permet d'obtenir toutes les informations (metadata) stockées dans l'objet image.
Ces informations sont aussi appelées propriétés.
Par exemple, une photographie numérique peut contenir la marque et le modèle de l'appareil photo. La marque est une propriété, le modèle une autre.

Les valeurs retrouvées qui ont le paramètre wtype (PropertyItem) valant #PropertyTagTypeASCII sont des chaînes au format ASCII.

Certains fichiers d'image contiennent des metadata que vous pouvez lire pour déterminer les informations sur l'image. Par exemple, une photographie numérique peut contenir des metadata que vous pouvez lire pour déterminer la marque et le modèle de l'appareil photo employé pour prendre la photo. GDI+ enregistre une partie des metadata dans une structure PropertyItem. La fonction GdipGetAllPropertyItems() retourne un tableau d'éléments PropertyItem. Avant d'appeler la fonction, vous devez allouer suffisamment de mémoire pour recevoir ce tableau. Vous devez appeler la fonction GdipGetPropertySize() pour obtenir la taille en octets de la mémoire nécessaire pour ce tableau. La fonction GdipGetPropertySize() retrouve également le nombre de propriétés (éléments metadata) de l'image.

PropertyItem défini les éléments suivants :

id.i

Nombre entier qui identifie le type de metadata stocké. Les constantes qui identifient les différents types de metadata (#PropertyTagEquipMake, #PropertyTagEquipModel, etc.) sont des éléments de l'énumération Image property ID tags. Id est de type PROPID (long non signé) et est défini dans le fichier WTypes.h.

length.i

Taille en octets du tableau de valeurs pointé par *value.

wtype.w

Nombre entier qui identifie le type de données du tableau de valeurs pointé par *value. Les constantes qui identifient les divers types de propriétés d'images (#PropertyTagTypeByte, #PropertyTagTypeASCII, etc.) sont des éléments de l'énumération Image property types.

*value

Pointeur sur un tableau de valeurs. Chaque valeur du tableau a le type de données (data type) spécifié par l'élément wtype.w.

L'exemple charge un fichier jpeg et l'affiche puis liset à sa droite les types de métadonnées stockées dans l'image (paramètre id). La marque de l'appareil photo et son modèle son affichés en dessous de l'image et ont été retrouvés avec cette fonction.

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS

PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium