Método Graphics::D rawBeziers(constPen*,constPointF*,INT) (gdiplusgraphics.h)
O método Graphics::D rawBeziers desenha uma sequência de splines Bézier conectados.
Sintaxe
Status DrawBeziers(
const Pen *pen,
const PointF *points,
INT count
);
Parâmetros
pen
Ponteiro para uma caneta que é usada para desenhar os splines de Bézier.
points
Ponteiro para uma matriz de objetos PointF que especificam os pontos inicial, final e de controle das splines de Bézier.
count
Inteiro que especifica o número de elementos na matriz de pontos .
Retornar valor
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Um spline Bézier não passa por seus pontos de controle. Os pontos de controle agem como ímãs, puxando a curva em certas direções para influenciar a forma como um spline Bézier se curva. Cada spline de Bézier requer um ponto de partida e um ponto final. Cada ponto final é o ponto de partida para o próximo spline de Bézier.
Exemplos
O exemplo a seguir desenha um par de curvas de 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 |
---|---|
Cabeçalho | gdiplusgraphics.h |