Image::GetFrameDimensionsList 方法 (gdiplusheaders.h)
Image::GetFrameDimensionsList 方法获取此 Image 对象的帧尺寸的标识符。
语法
Status GetFrameDimensionsList(
[out] GUID *dimensionIDs,
[in] UINT count
);
parameters
[out] dimensionIDs
类型: GUID*
指向接收标识符的数组的指针。 用于标识各种维度的 GUID 在 Gdiplusimaging.h 中定义。
[in] count
类型: UINT
指定 dimensionIDs 数组中的元素数的整数。 调用 Image::GetFrameDimensionsCount 方法以确定此数字。
返回值
类型: 状态
如果方法成功,则返回 Ok,这是 Status 枚举的元素。
如果 方法失败,它将返回 Status 枚举的其他元素之一。
注解
此方法返回有关多帧图像的信息,这些图像有两种样式:多页和多分辨率。
多页图像是包含多个图像的图像。 每个页面包含一个图像 (或框架) 。 这些页面 (、图像或帧) 通常连续显示,以生成动画序列,例如在动态 GIF 文件中。
多分辨率图像是包含不同分辨率图像的多个副本的图像。
Windows GDI+ 可以支持任意数量的页面 (或图像、) 帧以及任意数量的分辨率。
示例
以下控制台应用程序基于 TIFF 文件创建 Image 对象。 该代码调用 Image::GetFrameDimensionsCount 方法,找出 Image 对象具有多少帧尺寸。 每个帧维度都由 GUID 标识,对 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 有四页;即页面维度中的四个框架。
要求
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdiplusheaders.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |