Region::GetData 方法 (gdiplusheaders.h)

Region::GetData 方法获取描述此区域的数据。

语法

Status GetData(
  [out] BYTE *buffer,
  [in]  UINT bufferSize,
  [out] UINT *sizeFilled
);

parameters

[out] buffer

类型: BYTE*

指向接收区域数据的 BYTE 值的数组的指针。

[in] bufferSize

类型: UINT

指定 缓冲区 数组的大小(以字节为单位)的整数。 缓冲区数组的大小可以大于或等于存储区域数据所需的字节数。 可以通过调用 Region::GetDataSize 方法来确定所需的确切字节数。

[out] sizeFilled

类型: UINT*

可选。 指向接收缓冲区数组实际接收的数据字节数的 INT 的指针。 默认值为 NULL。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

注解

可以在 Region::GetData 方法 之前使用 Region::GetDataSize 方法来确定存储区域数据所需的字节数。 然后,可以分配正确大小的缓冲区来存储区域数据,并将 缓冲区 参数设置为指向该缓冲区。

示例

以下示例从路径创建一个区域,然后获取描述该区域的数据。

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