Image::GetPropertySize 메서드(gdiplusheaders.h)
Image::GetPropertySize 메서드는 이 Image 개체에 저장된 모든 속성 항목의 총 크기(바이트)를 가져옵니다. Image::GetPropertySize 메서드는 이 Image 개체에 저장된 속성 항목의 수도 가져옵니다.
구문
Status GetPropertySize(
[out] UINT *totalBufferSize,
[out] UINT *numProperties
);
매개 변수
[out] totalBufferSize
형식: UINT*
모든 속성 항목의 총 크기(바이트)를 수신하는 UINT 에 대한 포인터입니다.
[out] numProperties
형식: UINT*
속성 항목 수를 받는 UINT 에 대한 포인터입니다.
반환 값
형식: 상태
메서드가 성공하면 Status 열거형의 요소인 Ok를 반환합니다.
메서드가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.
설명
Windows GDI+는 PropertyItem 개체에 개별 메타데이터를 저장합니다. Image::GetAllPropertyItems 메서드는 PropertyItem 개체의 배열을 반환합니다. Image::GetAllPropertyItems를 호출하기 전에 해당 배열을 받을 수 있을 만큼 큰 버퍼를 할당해야 합니다. Image 개체의 Image::GetPropertySize 메서드를 호출하여 필요한 버퍼의 크기를 바이트 단위로 가져올 수 있습니다. Image::GetPropertySize 메서드는 이미지의 속성(메타데이터 조각)의 수도 제공합니다.
예제
다음 예제에서는 JPEG 파일을 기반으로 Image 개체를 만듭니다. 코드는 해당 Image 개체의 Image::GetAllPropertyItems 메서드를 호출하여 속성 항목(메타데이터)을 가져옵니다.
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
INT main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
// Create an Image object based on a JPEG file.
Image* image = new Image(L"FakePhoto.jpg");
// Find out how many property items are in the image, and find out the
// required size of the buffer that will receive those property items.
UINT totalBufferSize;
UINT numProperties;
image->GetPropertySize(&totalBufferSize, &numProperties);
// Allocate the buffer that will receive the property items.
PropertyItem* pAllItems = (PropertyItem*)malloc(totalBufferSize);
// Fill the buffer.
image->GetAllPropertyItems(totalBufferSize, numProperties, pAllItems);
// Print the ID of each property item.
for(UINT j = 0; j < numProperties; ++j)
{
printf("%x\n", pAllItems[j].id);
}
free(pAllItems);
delete image;
GdiplusShutdown(gdiplusToken);
return 0;
}
위의 코드는 특정 파일과 함께 FakePhoto.jpg 다음 출력을 생성했습니다.
320
10f
110
9003
829a
5090
5091
위의 출력에는 각 속성 식별자의 16진수 값이 표시됩니다. Gdiplusimaging.h에서 해당 숫자를 조회하고 다음 속성 태그를 나타내는 것을 확인할 수 있습니다.
16 진수 값 | 속성 태그 |
---|---|
0x0320 | PropertyTagImageTitle |
0x010f | PropertyTagEquipMake |
0x0110 | PropertyTagEquipModel |
0x9003 | PropertyTagExifDTOriginal |
0x829a | PropertyTagExifExposureTime |
0x5090 | PropertyTagLuminanceTable |
0x5091 | PropertyTagChrominanceTable |
요구 사항
지원되는 최소 클라이언트 | Windows XP, Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | gdiplusheaders.h(Gdiplus.h 포함) |
라이브러리 | Gdiplus.lib |
DLL | Gdiplus.dll |