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