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

El método Image::GetFrameDimensionsCount obtiene el número de dimensiones de marco de este objeto Image .

Sintaxis

UINT GetFrameDimensionsCount();

Valor devuelto

Tipo: UINT

Este método devuelve el número de dimensiones de marco en este objeto Image .

Comentarios

Este método devuelve información sobre imágenes de varios fotogramas, que vienen en dos estilos: varias páginas y varias resoluciones.

Una imagen de varias páginas es una imagen que contiene más de una imagen. Cada página contiene una sola imagen (o marco). Estas páginas (o imágenes o fotogramas) se muestran normalmente en sucesión para generar una secuencia animada, como en un archivo GIF animado.

Una imagen de resolución múltiple es una imagen que contiene más de una copia de una imagen en resoluciones diferentes.

GDI+ de Windows puede admitir un número arbitrario de páginas (o imágenes o marcos), así como un número arbitrario de resoluciones.

Ejemplos

La siguiente aplicación de consola crea un objeto Image basado en un archivo TIFF. El código llama al método Image::GetFrameDimensionsCount para averiguar cuántas dimensiones de marco tiene el objeto Image . Cada una de esas dimensiones de marco se identifica mediante un GUID y la llamada a Image::GetFrameDimensionsList recupera esos GUID. El primer GUID se encuentra en el índice 0 de la matriz pDimensionIDs . La llamada al método Image::GetFrameCount determina el número de fotogramas de la dimensión identificada por el primer 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;
}

El código anterior, junto con un archivo determinado, Multiframe.tif, generó la siguiente salida:

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.

Puede buscar el GUID mostrado en Gdiplusimaging.h y ver que es el identificador de la dimensión de página. Por lo tanto, la salida del programa nos indica que el archivo Multiframe.tif tiene cuatro páginas; es decir, cuatro fotogramas de la dimensión de página.

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusheaders.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Copiar fotogramas individuales desde una imagen de Multiple-Frame

Creación y almacenamiento de una imagen de trama múltiple

EncoderParameter

Imagen

Image::GetFrameCount

Image::GetFrameDimensionsList

Image::SaveAdd (Métodos)