Image::GetFrameDimensionsList-Methode (gdiplusheaders.h)

Die Image::GetFrameDimensionsList-Methode ruft die Bezeichner für die Framedimensionen dieses Image-Objekts ab.

Syntax

Status GetFrameDimensionsList(
  [out] GUID *dimensionIDs,
  [in]  UINT count
);

Parameter

[out] dimensionIDs

Typ: GUID*

Zeiger auf ein Array, das die Bezeichner empfängt. GUIDs, die verschiedene Dimensionen identifizieren, werden in Gdiplusimaging.h definiert.

[in] count

Typ: UINT

Ganzzahl, die die Anzahl der Elemente im DimensionIDs-Array angibt. Rufen Sie die Image::GetFrameDimensionsCount-Methode auf, um diese Nummer zu ermitteln.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

Diese Methode gibt Informationen zu Bildern mit mehreren Rahmen 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 normalerweise 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 GetFrameDimensionsList ruft diese GUIDs ab. Die erste GUID befindet sich bei Index 0 im pDimensionIDs-Array . Der Aufruf der Image::GetFrameCount-Methode bestimmt die Anzahl der Frames in der Dimension, die von der ersten 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 vorherige 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::GetFrameDimensionsCount

Image::SaveAdd-Methoden