Region::GetData メソッド (gdiplusheaders.h)
Region::GetData メソッドは、このリージョンを記述するデータを取得します。
構文
Status GetData(
[out] BYTE *buffer,
[in] UINT bufferSize,
[out] UINT *sizeFilled
);
パラメーター
[out] buffer
型: BYTE*
領域データを受け取る BYTE 値の配列へのポインター。
[in] bufferSize
型: UINT
バッファー配列のサイズをバイト単位で指定する整数。 バッファー配列のサイズは、領域データの格納に必要なバイト数以上にすることができます。 必要な正確なバイト数は、 Region::GetDataSize メソッドを呼び出すことによって決定できます。
[out] sizeFilled
型: UINT*
省略可能。 バッファー配列によって実際に受信されたデータのバイト数を受け取る INT へのポインター。 既定値は NULL です。
戻り値
種類: 状態
メソッドが成功した場合は、Status 列挙体の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
解説
Region::GetDataSize メソッドは、Region::GetData メソッドの前に使用して、リージョン データの格納に必要なバイト数を決定できます。 次に、領域データを格納するための適切なサイズのバッファーを割り当て、バッファーを指す バッファー パラメーターを設定できます。
例
次の例では、パスからリージョンを作成し、そのリージョンを記述するデータを取得します。
VOID Example_GetData(HDC)
{
Point points[] = {
Point(110, 20)
Point(120, 30),
Point(100, 60),
Point(120, 70),
Point(150, 60),
Point(140, 10)};
GraphicsPath path;
path.AddClosedCurve(points, 6);
// Create a region from a path.
Region pathRegion(&path);
// Get the region data.
UINT bufferSize = 0;
UINT sizeFilled = 0;
BYTE* pData = NULL;
bufferSize = pathRegion.GetDataSize();
pData = new BYTE[bufferSize];
pathRegion.GetData(pData, bufferSize, &sizeFilled);
// Inspect or use the region data.
...
delete pData;
}
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusheaders.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |