Graphics::D rawBeziers(constPen*,constPoint*,INT) (gdiplusgraphics.h)
El método Graphics::D rawBeziers dibuja una secuencia de splines de Bézier conectados.
Sintaxis
Status DrawBeziers(
[in] const Pen *pen,
[in] const Point *points,
[in] INT count
);
Parámetros
[in] pen
Tipo: const Pen*
Puntero a un lápiz que se usa para dibujar las splines bézier.
[in] points
Tipo: const Point*
Puntero a una matriz de Objetos point que especifican los puntos de inicio, final y control de las splines bézier. La coordenada final de una spline bézier es la coordenada inicial de la siguiente spline bézier.
[in] count
Tipo: INT
Entero que especifica el número de elementos de la puntos matriz.
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
Una spline Bézier no pasa por sus puntos de control. Los puntos de control actúan como imanes, tirando la curva en determinadas direcciones para influir en la forma en que se doblan las splines bézier.
Ejemplos
En el ejemplo siguiente se dibuja un par de curvas Bézier.
VOID Example_DrawBeziers(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
Point startPoint(100, 100);
Point ctrlPoint1(200, 50);
Point ctrlPoint2(400, 10);
Point endPoint1(500, 100);
Point ctrlPoint3(600, 200);
Point ctrlPoint4(700, 400);
Point endPoint2(500, 500);
Point 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 |
---|---|
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 |
gdiplusgraphics.h (include Gdiplus.h) |
biblioteca de |
Gdiplus.lib |
DLL de |
Gdiplus.dll |
Consulte también
métodos DrawBezier
de punto de