Freigeben über


Graphics.DrawCurve Methode

Definition

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen.

Überlädt

DrawCurve(Pen, ReadOnlySpan<PointF>, Single)
DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32, Single)
DrawCurve(Pen, ReadOnlySpan<Point>, Int32, Int32, Single)
DrawCurve(Pen, PointF[], Int32, Int32, Single)

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen unter Verwendung einer angegebenen Spannung. Die Zeichnung beginnt mit dem Offset vom Anfang des Arrays.

DrawCurve(Pen, Point[], Int32, Int32, Single)

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen unter Verwendung einer angegebenen Spannung.

DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32)
DrawCurve(Pen, PointF[], Int32, Int32)

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen. Die Zeichnung beginnt mit dem Offset vom Anfang des Arrays.

DrawCurve(Pen, PointF[], Single)

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen unter Verwendung einer angegebenen Spannung.

DrawCurve(Pen, Point[], Single)

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen unter Verwendung einer angegebenen Spannung.

DrawCurve(Pen, ReadOnlySpan<PointF>)
DrawCurve(Pen, ReadOnlySpan<Point>)
DrawCurve(Pen, PointF[])

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen.

DrawCurve(Pen, Point[])

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen.

DrawCurve(Pen, ReadOnlySpan<Point>, Single)

DrawCurve(Pen, ReadOnlySpan<PointF>, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), tension As Single)

Parameter

pen
Pen
tension
Single

Gilt für:

DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), offset As Integer, numberOfSegments As Integer, tension As Single)

Parameter

pen
Pen
offset
Int32
numberOfSegments
Int32
tension
Single

Gilt für:

DrawCurve(Pen, ReadOnlySpan<Point>, Int32, Int32, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point), offset As Integer, numberOfSegments As Integer, tension As Single)

Parameter

pen
Pen
offset
Int32
numberOfSegments
Int32
tension
Single

Gilt für:

DrawCurve(Pen, PointF[], Int32, Int32, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen unter Verwendung einer angegebenen Spannung. Die Zeichnung beginnt mit dem Offset vom Anfang des Arrays.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), offset As Integer, numberOfSegments As Integer, tension As Single)

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
PointF[]

Array von PointF Strukturen, die die Spline definieren.

offset
Int32

Versetzt vom ersten Element im Array des points Parameters zum Ausgangspunkt in der Kurve.

numberOfSegments
Int32

Die Anzahl der Segmente nach dem Anfangspunkt, der in die Kurve aufgenommen werden soll.

tension
Single

Wert größer oder gleich 0,0F, der die Spannung der Kurve angibt.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um eine Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Definiert den Startpunktoffset und die Anzahl der Segmente.

  • Definiert die Spannung.

  • Zeichnet eine offene grüne Kurve (beginnend am dritten Punkt) durch die letzten fünf Punkte.

Die Methode legt die Spannung auf 1,0 fest.

private:
   void DrawCurvePointFSegmentTension( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create offset, number of segments, and tension.
      int offset = 2;
      int numSegments = 4;
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
   }
private void DrawCurvePointFSegmentTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create offset, number of segments, and tension.
    int offset = 2;
    int numSegments = 4;
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointFSegmentTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create offset, number of segments, and tension.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
    tension)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei PointF Strukturen enthalten, damit Kurve gezeichnet werden kann.

Der Wert des offset-Parameters gibt die Anzahl der Elemente an, die im Array übersprungen werden sollen. Das erste Element nach den übersprungenen Elementen stellt den Ausgangspunkt der Kurve dar.

Der Wert des numberOfSegments-Parameters gibt die Anzahl der Segmente nach dem Startpunkt an, die in der Kurve gezeichnet werden soll. Der Wert des numberOfSegments-Parameters muss mindestens 1 sein. Der Wert des offset Parameters plus der Wert des numberOfSegments Parameters muss kleiner sein als die Anzahl der Elemente im Array des points Parameters.

Der tension-Parameter bestimmt die Form der Spline. Wenn der Wert des tension-Parameters 0,0F ist, zeichnet diese Methode gerade Liniensegmente, um die Punkte zu verbinden. Normalerweise ist der tension Parameter kleiner oder gleich 1,0F. Werte über 1,0F erzeugen ungewöhnliche Ergebnisse.

Gilt für:

DrawCurve(Pen, Point[], Int32, Int32, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen unter Verwendung einer angegebenen Spannung.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] * int * int * single -> unit
Public Sub DrawCurve (pen As Pen, points As Point(), offset As Integer, numberOfSegments As Integer, tension As Single)

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
Point[]

Array von Point Strukturen, die die Spline definieren.

offset
Int32

Versetzt vom ersten Element im Array des points Parameters zum Ausgangspunkt in der Kurve.

numberOfSegments
Int32

Die Anzahl der Segmente nach dem Anfangspunkt, der in die Kurve aufgenommen werden soll.

tension
Single

Wert größer oder gleich 0,0F, der die Spannung der Kurve angibt.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um eine Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Definiert den Startpunktoffset und die Anzahl der Segmente.

  • Definiert die Spannung.

  • Zeichnet eine offene grüne Kurve (beginnend am dritten Punkt) durch die letzten fünf Punkte.

Die Methode legt die Spannung auf 1,0 fest.

private:
   void DrawCurvePointSegmentTension( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create offset, number of segments, and tension.
      int offset = 2;
      int numSegments = 4;
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
   }
private void DrawCurvePointSegmentTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    Point point1 = new Point(50, 50);
    Point point2 = new Point(100, 25);
    Point point3 = new Point(200, 5);
    Point point4 = new Point(250, 50);
    Point point5 = new Point(300, 100);
    Point point6 = new Point(350, 200);
    Point point7 = new Point(250, 250);
    Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create offset, number of segments, and tension.
    int offset = 2;
    int numSegments = 4;
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointSegmentTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New Point(50, 50)
    Dim point2 As New Point(100, 25)
    Dim point3 As New Point(200, 5)
    Dim point4 As New Point(250, 50)
    Dim point5 As New Point(300, 100)
    Dim point6 As New Point(350, 200)
    Dim point7 As New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create offset, number of segments, and tension.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
    tension)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei Point Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Der Wert des offset-Parameters gibt die Anzahl der Elemente an, die im Array übersprungen werden sollen. Das erste Element nach den übersprungenen Elementen stellt den Ausgangspunkt der Kurve dar.

Der Wert des numberOfSegments-Parameters gibt die Anzahl der Segmente nach dem Startpunkt an, die in der Kurve gezeichnet werden soll. Der Wert des numberOfSegments-Parameters muss mindestens 1 sein. Der Wert des offset Parameters plus der Wert des numberOfSegments Parameters muss kleiner sein als die Anzahl der Elemente im Array des points Parameters.

Der tension-Parameter bestimmt die Form der Spline. Wenn der Wert des tension-Parameters 0,0F ist, zeichnet diese Methode gerade Liniensegmente, um die Punkte zu verbinden. Normalerweise ist der tension Parameter kleiner oder gleich 1,0F. Werte über 1,0F erzeugen ungewöhnliche Ergebnisse.

Gilt für:

DrawCurve(Pen, ReadOnlySpan<PointF>, Int32, Int32)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, int offset, int numberOfSegments);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, int offset, int numberOfSegments);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * int * int -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF), offset As Integer, numberOfSegments As Integer)

Parameter

pen
Pen
offset
Int32
numberOfSegments
Int32

Gilt für:

DrawCurve(Pen, PointF[], Int32, Int32)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen. Die Zeichnung beginnt mit dem Offset vom Anfang des Arrays.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, int offset, int numberOfSegments);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * int * int -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), offset As Integer, numberOfSegments As Integer)

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
PointF[]

Array von PointF Strukturen, die die Spline definieren.

offset
Int32

Versetzt vom ersten Element im Array des points Parameters zum Ausgangspunkt in der Kurve.

numberOfSegments
Int32

Die Anzahl der Segmente nach dem Anfangspunkt, der in die Kurve aufgenommen werden soll.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um eine Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Definiert den Startpunktoffset und die Anzahl der Segmente.

  • Zeichnet eine offene grüne Kurve (beginnend am dritten Punkt) durch die letzten fünf Punkte.

Die Methode verwendet eine Standardspannung von 0,5.

private:
   void DrawCurvePointFSegments( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create offset and number of segments.
      int offset = 2;
      int numSegments = 4;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments );
   }
private void DrawCurvePointFSegments(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create offset and number of segments.
    int offset = 2;
    int numSegments = 4;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments);
}
Private Sub DrawCurvePointFSegments(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create offset and number of segments.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei PointF Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Der Wert des offset-Parameters gibt die Anzahl der Elemente an, die im Array übersprungen werden sollen. Das erste Element nach den übersprungenen Elementen stellt den Ausgangspunkt der Kurve dar.

Der Wert des numberOfSegments-Parameters gibt die Anzahl der Segmente nach dem Startpunkt an, die in der Kurve gezeichnet werden soll. Der Wert des numberOfSegments-Parameters muss mindestens 1 sein. Der Wert des offset Parameters plus der Wert des numberOfSegments Parameters muss kleiner sein als die Anzahl der Elemente im Array des points Parameters.

Diese Methode verwendet eine Standardspannung von 0,5.

Gilt für:

DrawCurve(Pen, PointF[], Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen unter Verwendung einer angegebenen Spannung.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * single -> unit
Public Sub DrawCurve (pen As Pen, points As PointF(), tension As Single)

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
PointF[]

Array von PointF Strukturen, die die Punkte darstellen, die die Kurve definieren.

tension
Single

Wert größer oder gleich 0,0F, der die Spannung der Kurve angibt.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um die Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Erzeugt eine Spannungseinstellung.

  • Zeichnet eine offene grüne geschlossene Kurve durch die sieben Punkte.

Die Methode verwendet eine Spannung von 1,0.

private:
   void DrawCurvePointFTension( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create tension.
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, tension );
   }
private void DrawCurvePointFTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create tension.
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointFTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create tension.
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei PointF Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Der tension-Parameter bestimmt die Form der Spline. Wenn der Wert des tension-Parameters 0,0F ist, zeichnet diese Methode gerade Liniensegmente, um die Punkte zu verbinden. Normalerweise ist der tension Parameter kleiner oder gleich 1,0F. Werte über 1,0F erzeugen ungewöhnliche Ergebnisse.

Gilt für:

DrawCurve(Pen, Point[], Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen unter Verwendung einer angegebenen Spannung.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] * single -> unit
Public Sub DrawCurve (pen As Pen, points As Point(), tension As Single)

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
Point[]

Array von Point Strukturen, die die Spline definieren.

tension
Single

Wert größer oder gleich 0,0F, der die Spannung der Kurve angibt.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um die Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Erzeugt eine Spannungseinstellung.

  • Zeichnet eine offene grüne geschlossene Kurve durch die sieben Punkte.

Die Methode verwendet eine Spannung von 1,0.

private:
   void DrawCurvePointTension( PaintEventArgs^ e )
   {

      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create tension.
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, tension );
   }
private void DrawCurvePointTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    Point point1 = new Point(50, 50);
    Point point2 = new Point(100, 25);
    Point point3 = new Point(200, 5);
    Point point4 = new Point(250, 50);
    Point point5 = new Point(300, 100);
    Point point6 = new Point(350, 200);
    Point point7 = new Point(250, 250);
    Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create tension.
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New Point(50, 50)
    Dim point2 As New Point(100, 25)
    Dim point3 As New Point(200, 5)
    Dim point4 As New Point(250, 50)
    Dim point5 As New Point(300, 100)
    Dim point6 As New Point(350, 200)
    Dim point7 As New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create tension.
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei Point Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Der tension-Parameter bestimmt die Form der Spline. Wenn der Wert des tension-Parameters 0,0F ist, zeichnet diese Methode gerade Liniensegmente, um die Punkte zu verbinden. Normalerweise ist der tension Parameter kleiner oder gleich 1,0F. Werte über 1,0F erzeugen ungewöhnliche Ergebnisse.

Gilt für:

DrawCurve(Pen, ReadOnlySpan<PointF>)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points);
public void DrawCurve (System.Drawing.Pen pen, scoped ReadOnlySpan<System.Drawing.PointF> points);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of PointF))

Parameter

pen
Pen

Gilt für:

DrawCurve(Pen, ReadOnlySpan<Point>)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points);
public void DrawCurve (System.Drawing.Pen pen, scoped ReadOnlySpan<System.Drawing.Point> points);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point))

Parameter

pen
Pen

Gilt für:

DrawCurve(Pen, PointF[])

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von PointF Strukturen.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points);
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ... cli::array <System::Drawing::PointF> ^ points);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points);
public void DrawCurve (System.Drawing.Pen pen, params System.Drawing.PointF[] points);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] -> unit
Public Sub DrawCurve (pen As Pen, points As PointF())
Public Sub DrawCurve (pen As Pen, ParamArray points As PointF())

Parameter

pen
Pen

Pen, die die Farbe, Breite und Formatvorlage der Kurve bestimmt.

points
PointF[]

Array von PointF Strukturen, die die Spline definieren.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um eine Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Zeichnet eine offene grüne Kurve durch die sieben Punkte.

Die Methode verwendet eine Standardspannung von 0,5.

private:
   void DrawCurvePointF( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints );
   }
private void DrawCurvePointF(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePointF(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei PointF Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Diese Methode verwendet eine Standardspannung von 0,5.

Gilt für:

DrawCurve(Pen, Point[])

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Zeichnet eine Kardinalspline durch ein angegebenes Array von Point Strukturen.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points);
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ... cli::array <System::Drawing::Point> ^ points);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points);
public void DrawCurve (System.Drawing.Pen pen, params System.Drawing.Point[] points);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] -> unit
Public Sub DrawCurve (pen As Pen, points As Point())
Public Sub DrawCurve (pen As Pen, ParamArray points As Point())

Parameter

pen
Pen

Pen, die die Farbe, Breite und Höhe der Kurve bestimmt.

points
Point[]

Array von Point Strukturen, die die Spline definieren.

Ausnahmen

pen ist null.

-oder-

points ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt rote und grüne Stifte.

  • Erstellt sieben Punkte, um eine Kurve zu definieren.

  • Zeichnet sechs rote gerade Linien zwischen den sieben Punkten, um ein unvollständiges Polygon zu bilden.

  • Zeichnet eine offene grüne Kurve durch die sieben Punkte.

Die Methode verwendet eine Standardspannung von 0,5.

private:
   void DrawCurvePoint( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints );
   }
private void DrawCurvePoint(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    Point point1 = new Point(50, 50);
    Point point2 = new Point(100, 25);
    Point point3 = new Point(200, 5);
    Point point4 = new Point(250, 50);
    Point point5 = new Point(300, 100);
    Point point6 = new Point(350, 200);
    Point point7 = new Point(250, 250);
    Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePoint(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New Point(50, 50)
    Dim point2 As New Point(100, 25)
    Dim point3 As New Point(200, 5)
    Dim point4 As New Point(250, 50)
    Dim point5 As New Point(300, 100)
    Dim point6 As New Point(350, 200)
    Dim point7 As New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub

Hinweise

Diese Methode zeichnet eine Kardinalspline, die jeden Punkt im Array durchläuft.

Das Array von Punkten muss mindestens drei Point Strukturen enthalten, damit eine Kurve gezeichnet werden kann.

Diese Methode verwendet eine Standardspannung von 0,5.

Gilt für:

DrawCurve(Pen, ReadOnlySpan<Point>, Single)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
public:
 void DrawCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points, float tension);
public void DrawCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points, float tension);
member this.DrawCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> * single -> unit
Public Sub DrawCurve (pen As Pen, points As ReadOnlySpan(Of Point), tension As Single)

Parameter

pen
Pen
tension
Single

Gilt für: