Image::GetPropertyIdList メソッド (gdiplusheaders.h)
Image::GetPropertyIdList メソッドは、この Image オブジェクトのメタデータで使用されるプロパティ識別子の一覧を取得します。
構文
Status GetPropertyIdList(
[in] UINT numOfProperty,
[out] PROPID *list
);
パラメーター
[in] numOfProperty
型: UINT
リスト配列内の要素の数を指定する整数。 この番号を確認するには、 Image::GetPropertyCount メソッドを呼び出します。
[out] list
型: PROPID*
プロパティ識別子を受け取る配列へのポインター。
戻り値
種類: 状態
メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
注釈
Image::GetPropertyIdList メソッドは PROPIDの配列を返します。 Image::GetPropertyIdList を呼び出す前に、その配列を受け取るのに十分な大きさのバッファーを割り当てる必要があります。 Image オブジェクトの Image::GetPropertyCount メソッドを呼び出して、必要なバッファーのサイズを決定できます。 バッファーのサイズは、 Image::GetPropertyCount に sizeof( PROPID) を乗算した戻り値にする必要があります。
例
次の例では、JPEG ファイルに基づいて Image オブジェクトを作成します。 このコードでは、その Image オブジェクトの Image::GetPropertyIdList メソッドを呼び出して、イメージに格納されているメタデータの種類を確認します。
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
INT main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
UINT count = 0;
Image* image = new Image(L"FakePhoto.jpg");
// How many types of metadata are in the image?
count = image->GetPropertyCount();
if(count == 0)
return 0;
// Allocate a buffer to receive an array of PROPIDs.
PROPID* propIDs = new PROPID[count];
image->GetPropertyIdList(count, propIDs);
// List the retrieved IDs.
for(UINT j = 0; j < count; ++j)
printf("%x\n", propIDs[j]);
delete [] propIDs;
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 を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |