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 的指標,該 INT 會接收 緩衝區 陣列實際接收的資料位元組數目。 預設值是 NULL

傳回值

類型: 狀態

如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。

如果方法失敗,它會傳回 Status 列舉的其他其中一個專案。

備註

Region::GetDataSize方法可以在Region::GetData方法之前使用,以判斷儲存區域資料所需的位元組數目。 然後,您可以配置正確大小的緩衝區來儲存區域資料,並將 buffer 參數設定為指向緩衝區。

範例

下列範例會從路徑建立區域,然後取得描述區域的資料。

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)
程式庫 Gdiplus.lib
Dll Gdiplus.dll