Image::GetFrameDimensionsCount-Methode (gdiplusheaders.h)
Die Image::GetFrameDimensionsCount- Methode ruft die Anzahl der Frameabmessungen in diesem Image-Objekt ab.
Syntax
UINT GetFrameDimensionsCount();
Rückgabewert
Typ: UINT-
Diese Methode gibt die Anzahl der Frameabmessungen in diesem Image-Objekt zurück.
Bemerkungen
Diese Methode gibt Informationen zu Bildern mit mehreren Frames zurück, die in zwei Formatvorlagen enthalten 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 Rahmen). 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 mehrere Kopien 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 Frameabmessungen das Image--Objekt hat. Jede dieser Frameabmessungen wird durch eine GUID identifiziert, und der Aufruf von Image::GetFrameDimensionsList ruft diese GUIDs ab. Die erste GUID befindet sich bei Index 0 im pDimensionIDs Arrays. 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 zusammen mit einer bestimmten Datei Multiframe.tif hat 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 nachschlagen und sehen, dass es sich um den Bezeichner für die Seitendimension handelt. Die Programmausgabe gibt uns also an, dass die Datei Multiframe.tif vier Seiten hat; d. h. vier Frames in der Seitendimension.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP, Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | gdiplusheaders.h (include Gdiplus.h) |
Library | Gdiplus.lib |
DLL- | Gdiplus.dll |
Siehe auch
Kopieren einzelner Frames aus einem Multiple-Frame Bild-