Méthode Image::GetFrameDimensionsList (gdiplusheaders.h)
La méthode Image::GetFrameDimensionsList obtient les identificateurs des dimensions d’image de cet objet Image .
Syntaxe
Status GetFrameDimensionsList(
[out] GUID *dimensionIDs,
[in] UINT count
);
Paramètres
[out] dimensionIDs
Type : GUID*
Pointeur vers un tableau qui reçoit les identificateurs. Les GUID qui identifient différentes dimensions sont définis dans Gdiplusimaging.h.
[in] count
Type : UINT
Entier qui spécifie le nombre d’éléments dans le tableau dimensionIDs . Appelez la méthode Image::GetFrameDimensionsCount pour déterminer ce nombre.
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 .
Notes
Cette méthode retourne des informations sur les images à plusieurs images, qui se présentent dans deux styles : plusieurs pages et plusieurs résolutions.
Une image de plusieurs pages est une image qui contient plusieurs images. Chaque page contient une image (ou un cadre) unique. Ces pages (ou images, ou cadres) sont généralement affichées successivement pour produire une séquence animée, par exemple dans un fichier GIF animé.
Une image à résolution multiple est une image qui contient plusieurs copies d’une image à différentes résolutions.
Windows GDI+ peut prendre en charge un nombre arbitraire de pages (ou d’images, ou de cadres), ainsi qu’un nombre arbitraire de résolutions.
Exemples
L’application console suivante crée un objet Image basé sur un fichier TIFF. Le code appelle la méthode Image::GetFrameDimensionsCount pour déterminer le nombre de dimensions d’image de l’objet Image . Chacune de ces dimensions de trame est identifiée par un GUID, et l’appel à GetFrameDimensionsList récupère ces GUID. Le premier GUID se trouve à l’index 0 dans le tableau pDimensionIDs . L’appel à la méthode Image::GetFrameCount détermine le nombre d’images dans la dimension identifiée par le premier GUID.
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
INT main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
Image* image = new Image(L"Multiframe.tif");
// How many frame dimensions does the Image object have?
UINT count = 0;
count = image->GetFrameDimensionsCount();
printf("The number of dimensions is %d.\n", count);
GUID* pDimensionIDs = (GUID*)malloc(sizeof(GUID)*count);
// Get the list of frame dimensions from the Image object.
image->GetFrameDimensionsList(pDimensionIDs, count);
// Display the GUID of the first (and only) frame dimension.
WCHAR strGuid[39];
StringFromGUID2(pDimensionIDs[0], strGuid, 39);
wprintf(L"The first (and only) dimension ID is %s.\n", strGuid);
// Get the number of frames in the first dimension.
UINT frameCount = image->GetFrameCount(&pDimensionIDs[0]);
printf("The number of frames in that dimension is %d.\n", frameCount);
free(pDimensionIDs);
delete(image);
GdiplusShutdown(gdiplusToken);
return 0;
}
Le code précédent, ainsi qu’un fichier particulier, Multiframe.tif, ont produit la sortie suivante :
The number of dimensions is 1.
The first (and only) dimension ID is {7462DC86-6180-4C7E-8E3F-EE7333A7A483}.
The number of frames in that dimension is 4.
Vous pouvez rechercher le GUID affiché dans Gdiplusimaging.h et voir qu’il s’agit de l’identificateur de la dimension de page. La sortie du programme nous indique donc que le fichier Multiframe.tif a quatre pages ; c’est-à-dire quatre images dans la dimension de page.
Configuration requise
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 |
Voir aussi
Copie d’images individuelles à partir d’une image Multiple-Frame
Création et enregistrement d’une image multiframe