Graphics::D rawBeziers(constPen*,constPoint*,INT)-Methode (gdiplusgraphics.h)
Die Graphics::D rawBeziers--Methode zeichnet eine Abfolge verbundener Bézier splines.
Syntax
Status DrawBeziers(
[in] const Pen *pen,
[in] const Point *points,
[in] INT count
);
Parameter
[in] pen
Typ: Stift-*
Zeiger auf einen Stift, der zum Zeichnen der Bézier splines verwendet wird.
[in] points
Typ: Punkt-*
Zeiger auf ein Array von Point-Objekten, die die Anfangs-, End- und Kontrollpunkte der Bézier-Splines angeben. Die Endkoordinate einer Bézier-Spline ist die Anfangskoordinate der nächsten Bézier-Spline.
[in] count
Typ: INT-
Ganze Zahl, die die Anzahl der Elemente in den Punkten Array angibt.
Rückgabewert
Typ: Status-
Wenn die Methode erfolgreich ist, wird Ok zurückgegeben, bei dem es sich um ein Element der Status Enumeration handelt.
Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status Enumeration zurückgegeben.
Bemerkungen
Eine Bézier-Spline durchgibt nicht ihre Kontrollpunkte. Die Kontrollpunkte wirken als Magnete und ziehen die Kurve in bestimmte Richtungen, um die Art und Weise zu beeinflussen, wie die Bézier splines biegen.
Beispiele
Das folgende Beispiel zeichnet ein Paar von Bézierkurven.
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));
}
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP, Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | gdiplusgraphics.h (include Gdiplus.h) |
Library | Gdiplus.lib |
DLL- | Gdiplus.dll |