Image::GetFrameDimensionsCount メソッド (gdiplusheaders.h)
Image::GetFrameDimensionsCount メソッドは、この Image オブジェクト内のフレーム ディメンションの数を取得します。
構文
UINT GetFrameDimensionsCount();
戻り値
型: UINT
このメソッドは、この Image オブジェクトのフレーム寸法の数 を 返します。
解説
このメソッドは、複数のページと複数の解像度の 2 つのスタイルで提供される複数フレームイメージに関する情報を返します。
複数ページのイメージは、複数のイメージを含むイメージです。 各ページには、1 つのイメージ (またはフレーム) が含まれています。 通常、これらのページ (または画像、またはフレーム) は、アニメーション GIF ファイルなどのアニメーションシーケンスを生成するために連続して表示されます。
複数解像度のイメージは、異なる解像度の画像の複数のコピーを含むイメージです。
Windows GDI+ では、任意の数のページ (または画像、またはフレーム) と任意の数の解像度をサポートできます。
例
次のコンソール アプリケーションは、TIFF ファイルに基づいて Image オブジェクトを作成します。 このコードでは 、Image::GetFrameDimensionsCount メソッドを呼び出して、 Image オブジェクトのフレーム ディメンションの数を確認します。 これらの各フレーム ディメンションは GUID によって識別され、 Image::GetFrameDimensionsList の呼び出しはこれらの GUID を取得します。 最初の GUID は pDimensionIDs 配列のインデックス 0 にあります。 Image::GetFrameCount メソッドの呼び出しによって、最初の 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;
}
上記のコードと特定のファイル Multiframe.tif は、次の出力を生成しました。
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.
Gdiplusimaging.h で表示されている GUID を調べることで、それがページ ディメンションの識別子であることを確認できます。 したがって、プログラムの出力は、Multiframe.tifファイルに4つのページがあることを示しています。つまり、ページ ディメンションの 4 つのフレームです。
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusheaders.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |