Méthode Image::GetFrameDimensionsCount (gdiplusheaders.h)

La méthode Image::GetFrameDimensionsCount obtient le nombre de dimensions d’image dans cet objet Image .

Syntaxe

UINT GetFrameDimensionsCount();

Valeur de retour

Type : UINT

Cette méthode retourne le nombre de dimensions d’image dans cet objet Image .

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 à Image::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

EncoderParameter

Image

Image::GetFrameCount

Image::GetFrameDimensionsList

Image::SaveAdd, méthodes