Image::GetFrameDimensionsList 메서드(gdiplusheaders.h)
Image::GetFrameDimensionsList 메서드는 이 Image 개체의 프레임 크기에 대한 식별자를 가져옵니다.
구문
Status GetFrameDimensionsList(
[out] GUID *dimensionIDs,
[in] UINT count
);
매개 변수
[out] dimensionIDs
형식: GUID*
식별자를 수신하는 배열에 대한 포인터입니다. 다양한 차원을 식별하는 GUID는 Gdiplusimaging.h에 정의되어 있습니다.
[in] count
형식: UINT
dimensionIDs 배열의 요소 수를 지정하는 정수입니다. Image::GetFrameDimensionsCount 메서드를 호출하여 이 숫자를 확인합니다.
반환 값
형식: 상태
메서드가 성공하면 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 파일에 4개의 페이지가 있음을 알려줍니다. 즉, 페이지 차원의 4개 프레임입니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP, Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | gdiplusheaders.h(Gdiplus.h 포함) |
라이브러리 | Gdiplus.lib |
DLL | Gdiplus.dll |