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 |