Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Kardinalspline ist eine Kurve, die reibungslos durch einen bestimmten Satz von Punkten verläuft. Um eine Kardinalspline zu zeichnen, erstellen Sie ein Graphics Objekt, und übergeben Sie die Adresse eines Arrays von Punkten an die DrawCurve Methode.
Zeichnen einer Bell-Shaped Kardinalspline
Das folgende Beispiel zeichnet eine glockenförmige Kardinalspline, die fünf bestimmte Punkte durchläuft. Die folgende Abbildung zeigt die Kurve und fünf Punkte.
Point[] points = {
new Point(0, 100),
new Point(50, 80),
new Point(100, 20),
new Point(150, 80),
new Point(200, 100)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points);
Dim points As Point() = { _
New Point(0, 100), _
New Point(50, 80), _
New Point(100, 20), _
New Point(150, 80), _
New Point(200, 100)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points)
Zeichnen eines geschlossenen Kardinalsplines
- Verwenden Sie die DrawClosedCurve Methode der Graphics Klasse, um eine geschlossene Kardinalspline zu zeichnen. In einer geschlossenen Kardinalspline wird die Kurve durch den letzten Punkt im Array fortgesetzt und verbindet sich mit dem ersten Punkt im Array. Das folgende Beispiel zeichnet eine geschlossene Kardinalspline, die sechs bestimmte Punkte durchläuft. Die folgende Abbildung zeigt die geschlossene Spline zusammen mit den sechs Punkten:
Point[] points = {
new Point(60, 60),
new Point(150, 80),
new Point(200, 40),
new Point(180, 120),
new Point(120, 100),
new Point(80, 160)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawClosedCurve(pen, points);
Dim points As Point() = { _
New Point(60, 60), _
New Point(150, 80), _
New Point(200, 40), _
New Point(180, 120), _
New Point(120, 100), _
New Point(80, 160)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawClosedCurve(pen, points)
Ändern der Kurve einer Kardinalspline
- Ändern Sie die Art und Weise, wie ein Kardinalspline gekrümmt wird, indem Sie einen Spannungsparameter an die DrawCurve Methode übergeben. Das folgende Beispiel zeichnet drei kardinale Splines, die durch den gleichen Satz von Punkten laufen. Die folgende Abbildung zeigt die drei Splines zusammen mit ihren Spannungswerten. Beachten Sie, dass die Punkte, wenn die Spannung 0 ist, durch gerade Linien verbunden sind.
Point[] points = {
new Point(20, 50),
new Point(100, 10),
new Point(200, 100),
new Point(300, 50),
new Point(400, 80)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points, 0.0f);
e.Graphics.DrawCurve(pen, points, 0.6f);
e.Graphics.DrawCurve(pen, points, 1.0f);
Dim points As Point() = { _
New Point(20, 50), _
New Point(100, 10), _
New Point(200, 100), _
New Point(300, 50), _
New Point(400, 80)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points, 0.0F)
e.Graphics.DrawCurve(pen, points, 0.6F)
e.Graphics.DrawCurve(pen, points, 1.0F)
Code kompilieren
Die vorstehenden Beispiele sind für die Verwendung mit Windows Forms konzipiert und erfordern PaintEventArgse
einen Parameter des Paint Ereignishandlers.
Siehe auch
.NET Desktop feedback