Compartir a través de


Método GraphicsPath::GetPathPoints(Point*,INT) (gdipluspath.h)

El método GraphicsPath::GetPathPoints obtiene la matriz de puntos de esta ruta de acceso. La matriz contiene los puntos de conexión y los puntos de control de las líneas y splines bézier que se usan para dibujar la ruta de acceso.

Sintaxis

Status GetPathPoints(
  [out] Point *points,
  [in]  INT   count
);

Parámetros

[out] points

Tipo: de punto de

Puntero a una matriz de objetos Point que recibe los puntos de datos. Debe asignar memoria para esta matriz. Puede llamar al método GraphicsPath::GetPointCount para determinar el tamaño necesario de la matriz. El tamaño, en bytes, debe ser el valor devuelto de GraphicsPath::GetPointCount multiplicado por sizeof(Point).

[in] count

Tipo: INT

Entero que especifica el número de elementos de la puntos matriz. Establezca este parámetro igual al valor devuelto del método GraphicsPath::GetPointCount.

Valor devuelto

Tipo: estado de

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

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

Observaciones

Un GraphicsPath objeto tiene una matriz de puntos y una matriz de tipos. Cada elemento de la matriz de tipos es un byte que especifica el tipo de punto y un conjunto de marcas para el elemento correspondiente de la matriz de puntos. Los posibles tipos y marcas de punto se muestran en la enumeración pathPointType .

Ejemplos

En el ejemplo siguiente se crea y dibuja una ruta de acceso que tiene una línea, un rectángulo, una elipse y una curva. El código llama al método GraphicsPath::GetPoint Count de la ruta de acceso para determinar el número de puntos de datos almacenados en la ruta de acceso. El código asigna un búfer lo suficientemente grande como para recibir la matriz de puntos de datos y pasa la dirección de ese búfer al método GraphicsPath::GetPathPoints. Por último, el código dibuja cada uno de los puntos de datos de la ruta de acceso.

VOID GetPathPointsExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path that has a line, a rectangle, an ellipse, and a curve.
   GraphicsPath path;

   Point points[] = {
      Point(200, 200),
      Point(250, 240),
      Point(200, 300),
      Point(300, 310),
      Point(250, 350)};

   path.AddLine(20, 100, 150, 200);
   path.AddRectangle(Rect(40, 30, 80, 60));
   path.AddEllipse(Rect(200, 30, 200, 100));
   path.AddCurve(points, 5);

   // Draw the path.
   Pen pen(Color(255, 0, 0, 255));
   graphics.DrawPath(&pen, &path);

   // Get the path points.
   INT count = path.GetPointCount();
   Point* dataPoints = new Point[count];
   path.GetPathPoints(dataPoints, count);

   // Draw the path's data points.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j < count; ++j)
   {
      graphics.FillEllipse(
         &brush, 
         dataPoints[j].X - 3.0f, 
         dataPoints[j].Y - 3.0f,
         6.0f,
         6.0f);
   }
   delete [] dataPoints; 
}
Color(255, 255, 0,  0)

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de gdipluspath.h (incluya Gdiplus.h)
biblioteca de Gdiplus.lib
DLL de Gdiplus.dll

Consulte también

recorte con una región

construir y dibujar rutas de acceso

crear un de degradado de trazado

GraphicsPath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

rutas de acceso de

de punto de