Graphics::D rawBeziers(constPen*,constPointF*,INT) (gdiplusgraphics.h)

El método Graphics::D rawBeziers dibuja una secuencia de splines bézier conectados.

Sintaxis

Status DrawBeziers(
  const Pen    *pen,
  const PointF *points,
  INT          count
);

Parámetros

pen

Puntero a un lápiz que se usa para dibujar las splines bézier.

points

Puntero a una matriz de objetos PointF que especifican los puntos de inicio, final y control de las splines bézier.

count

Entero que especifica el número de elementos de la matriz de puntos .

Valor devuelto

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

Una spline Bézier no pasa por sus puntos de control. Los puntos de control actúan como imanes, tirando de la curva en determinadas direcciones para influir en la forma en que se dobla una spline bézier. Cada spline bézier requiere un punto inicial y un punto final. Cada punto final es el punto inicial de la siguiente spline bézier.

Ejemplos

En el ejemplo siguiente se dibuja un par de curvas Bézier.

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

   // Define a Pen object and an array of PointF objects.
   Pen greenPen(Color(255, 0, 255, 0), 3);

   PointF startPoint(100.0f, 100.0f);
   PointF ctrlPoint1(200.0f, 50.0f);
   PointF ctrlPoint2(400.0f, 10.0f);
   PointF endPoint1(500.0f, 100.0f);
   PointF ctrlPoint3(600.0f, 200.0f);
   PointF ctrlPoint4(700.0f, 400.0f);
   PointF endPoint2(500.0f, 500.0f);

   PointF curvePoints[7] = {
      startPoint,
      ctrlPoint1,
      ctrlPoint2,
      endPoint1,
      ctrlPoint3,
      ctrlPoint4,
      endPoint2};

   // Draw the Bezier curves.
   graphics.DrawBeziers(&greenPen, curvePoints, 7);

   // Draw the control and end points.
   SolidBrush redBrush(Color(255, 255, 0, 0));
   graphics.FillEllipse(&redBrush, Rect(100 - 5, 100 - 5, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(500 - 5, 100 - 5, 10, 10));
   graphics.FillEllipse(&redBrush, Rect(500 - 5, 500 - 5, 10, 10));
   SolidBrush blueBrush(Color(255, 0, 0, 255));
   graphics.FillEllipse(&blueBrush, Rect(200 - 5, 50 - 5, 10, 10));
   graphics.FillEllipse(&blueBrush, Rect(400 - 5, 10 - 5, 10, 10));
   graphics.FillEllipse(&blueBrush, Rect(600 - 5, 200 - 5, 10, 10));
   graphics.FillEllipse(&blueBrush, Rect(700 - 5, 400 - 5, 10, 10));
}

Requisitos

Requisito Valor
Header gdiplusgraphics.h

Consulte también

Bézier Splines

Métodos DrawBezier

Dibujo de curvas spline de Bézier

DrawBeziers

Elementos gráficos

Lápiz

PointF