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

O método Image::GetFrameDimensionsCount obtém o número de dimensões de quadro neste objeto Image .

Sintaxe

UINT GetFrameDimensionsCount();

Valor retornado

Tipo: UINT

Esse método retorna o número de dimensões de quadro neste objeto Image .

Comentários

Esse método retorna informações sobre imagens de vários quadros, que vêm em dois estilos: várias páginas e várias resoluções.

Uma imagem de várias páginas é uma imagem que contém mais de uma imagem. Cada página contém uma única imagem (ou quadro). Essas páginas (ou imagens ou quadros) normalmente são exibidas sucessivamente para produzir uma sequência animada, como em um arquivo GIF animado.

Uma imagem de resolução múltipla é uma imagem que contém mais de uma cópia de uma imagem em resoluções diferentes.

O Windows GDI+ pode dar suporte a um número arbitrário de páginas (ou imagens ou quadros), bem como a um número arbitrário de resoluções.

Exemplos

O aplicativo de console a seguir cria um objeto Image com base em um arquivo TIFF. O código chama o método Image::GetFrameDimensionsCount para descobrir quantas dimensões de quadro o objeto Image tem. Cada uma dessas dimensões de quadro é identificada por um GUID e a chamada para Image::GetFrameDimensionsList recupera esses GUIDs. O primeiro GUID está no índice 0 na matriz pDimensionIDs . A chamada para o método Image::GetFrameCount determina o número de quadros na dimensão identificada pelo primeiro 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;
}

O código anterior, juntamente com um arquivo específico, Multiframe.tif, produziu a seguinte saída:

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.

Você pode pesquisar o GUID exibido em Gdiplusimaging.h e ver que ele é o identificador da dimensão de página. Portanto, a saída do programa nos informa que o arquivo Multiframe.tif tem quatro páginas; ou seja, quatro quadros na dimensão da página.

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdiplusheaders.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Copiando quadros individuais de uma imagem Multiple-Frame

Criar e salvar uma imagem de vários quadros

Encoderparameter

Imagem

Image::GetFrameCount

Image::GetFrameDimensionsList

Métodos Image::SaveAdd