Metodo Image::GetFrameDimensionsCount (gdiplusheaders.h)
Il metodo Image::GetFrameDimensionsCount ottiene il numero di dimensioni del frame in questo oggetto Image .
Sintassi
UINT GetFrameDimensionsCount();
Valore restituito
Tipo: UINT
Questo metodo restituisce il numero di dimensioni del frame in questo oggetto Image .
Commenti
Questo metodo restituisce informazioni sulle immagini a più fotogrammi, che vengono fornite in due stili: più pagine e più risoluzioni.
Un'immagine a più pagine è un'immagine contenente più immagini. Ogni pagina contiene un'unica immagine (o cornice). Queste pagine (o immagini o fotogrammi) vengono in genere visualizzate in successione per produrre una sequenza animata, ad esempio in un file GIF animato.
Un'immagine a risoluzione multipla è un'immagine che contiene più di una copia di un'immagine in risoluzioni diverse.
Windows GDI+ può supportare un numero arbitrario di pagine (o immagini o fotogrammi), nonché un numero arbitrario di risoluzioni.
Esempio
L'applicazione console seguente crea un oggetto Image basato su un file TIFF. Il codice chiama il metodo Image::GetFrameDimensionsCount per individuare il numero di dimensioni del fotogramma presenti nell'oggetto Image . Ognuna di queste dimensioni del frame viene identificata da un GUID e la chiamata a Image::GetFrameDimensionsList recupera tali GUID. Il primo GUID è in corrispondenza dell'indice 0 nella matrice pDimensionIDs . La chiamata al metodo Image::GetFrameCount determina il numero di fotogrammi nella dimensione identificata dal primo 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;
}
Il codice precedente, insieme a un determinato file, Multiframe.tif, ha prodotto l'output seguente:
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.
È possibile cercare il GUID visualizzato in Gdiplusimaging.h e vedere che è l'identificatore per la dimensione della pagina. L'output del programma indica quindi che il file Multiframe.tif ha quattro pagine; ovvero quattro fotogrammi nella dimensione della pagina.
Requisiti
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdiplusheaders.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |
Vedi anche
Copia di singoli fotogrammi da un'immagine Multiple-Frame