Compartir a través de


Método Region::GetData (gdiplusheaders.h)

El método Region::GetData obtiene datos que describen esta región.

Sintaxis

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

Parámetros

[out] buffer

Tipo: BYTE*

Puntero a una matriz de valores BYTE que recibe los datos de la región.

[in] bufferSize

Tipo: UINT

Entero que especifica el tamaño, en bytes, de la matriz de búfer . El tamaño de la matriz de búfer puede ser mayor o igual que el número de bytes necesarios para almacenar los datos de la región. El número exacto de bytes necesarios se puede determinar llamando al método Region::GetDataSize .

[out] sizeFilled

Tipo: UINT*

Opcional. Puntero a un INT que recibe el número de bytes de datos recibidos realmente por la matriz de búfer . El valor predeterminado es NULL.

Valor devuelto

Tipo: Estado

Si el método se realiza correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

El método Region::GetDataSize se puede usar antes del método Region::GetData para determinar el número de bytes necesarios para almacenar los datos de la región. A continuación, puede asignar un búfer que sea el tamaño correcto para almacenar los datos de la región y establecer el parámetro de búfer para que apunte al búfer.

Ejemplos

En el ejemplo siguiente se crea una región a partir de una ruta de acceso y, a continuación, se obtienen los datos que describen la región.

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;
}

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusheaders.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll