次の方法で共有


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