Metodo Graphics::D rawBeziers(constPen*,constPointF*,INT) (gdiplusgraphics.h)
Il metodo Graphics::D rawBeziers disegna una sequenza di spline connesse bézier.
Sintassi
Status DrawBeziers(
const Pen *pen,
const PointF *points,
INT count
);
Parametri
pen
Puntatore a una penna usata per disegnare le spline di Bézier.
points
Puntatore a una matrice di oggetti PointF che specificano i punti di partenza, terminazione e controllo degli spline di Bézier.
count
Intero che specifica il numero di elementi nella matrice di punti .
Valore restituito
Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .
Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .
Commenti
Una spline di Bézier non passa attraverso i punti di controllo. I punti di controllo agiscono come magneti, trascinando la curva in determinate direzioni per influenzare il modo in cui una spline bézier si piega. Ogni spline di Bézier richiede un punto di partenza e un punto finale. Ogni punto finale è il punto di partenza per la successiva spline di Bézier.
Esempio
L'esempio seguente disegna una coppia di curve 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));
}
Requisiti
Requisito | Valore |
---|---|
Intestazione | gdiplusgraphics.h |