Share via


Image::GetFrameDimensionsCount-Methode (gdiplusheaders.h)

Die Image::GetFrameDimensionsCount-Methode ruft die Anzahl der Framedimensionen in diesem Image-Objekt ab.

Syntax

UINT GetFrameDimensionsCount();

Rückgabewert

Typ: UINT

Diese Methode gibt die Anzahl der Framedimensionen in diesem Image-Objekt zurück.

Hinweise

Diese Methode gibt Informationen zu Bildern mit mehreren Frames zurück, die in zwei Formaten verfügbar sind: mehrere Seiten und mehrere Auflösungen.

Ein Bild mit mehreren Seiten ist ein Bild, das mehr als ein Bild enthält. Jede Seite enthält ein einzelnes Bild (oder einen Frame). Diese Seiten (oder Bilder oder Frames) werden in der Regel nacheinander angezeigt, um eine animierte Sequenz zu erzeugen, z. B. in einer animierten GIF-Datei.

Ein Bild mit mehrfacher Auflösung ist ein Bild, das mehr als eine Kopie eines Bilds mit unterschiedlichen Auflösungen enthält.

Windows GDI+ kann eine beliebige Anzahl von Seiten (oder Bildern oder Frames) sowie eine beliebige Anzahl von Auflösungen unterstützen.

Beispiele

Die folgende Konsolenanwendung erstellt ein Image-Objekt basierend auf einer TIFF-Datei. Der Code ruft die Image::GetFrameDimensionsCount-Methode auf, um herauszufinden, wie viele Framedimensionen das Image-Objekt aufweist. Jede dieser Framedimensionen wird durch eine GUID identifiziert, und der Aufruf von Image::GetFrameDimensionsList ruft diese GUIDs ab. Die erste GUID befindet sich im pDimensionIDs-Array bei Index 0. Der Aufruf der Image::GetFrameCount-Methode bestimmt die Anzahl der Frames in der Dimension, die durch die erste GUID identifiziert wird.

#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;
}

Der vorangehende Code hat zusammen mit einer bestimmten Datei, Multiframe.tif, die folgende Ausgabe erzeugt:

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.

Sie können die angezeigte GUID in Gdiplusimaging.h suchen und sehen, dass es sich um den Bezeichner für die Seitendimension handelt. Die Programmausgabe sagt uns also, dass die Datei Multiframe.tif vier Seiten hat; d. h. vier Frames in der Seitendimension.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusheaders.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Kopieren einzelner Frames aus einem Multiple-Frame Bild

Erstellen und Speichern eines Bilds mit mehreren Frames

Encoderparameter

Bild

Image::GetFrameCount

Image::GetFrameDimensionsList

Image::SaveAdd-Methoden