GraphicsPath.AddCurve Methode

Definitie

Hiermee voegt u een spline-curve toe aan de huidige afbeelding. Een kardinaliteitscurve wordt gebruikt omdat de curve door elk van de punten in de matrix loopt.

Overloads

Name Description
AddCurve(PointF[], Int32, Int32, Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

AddCurve(Point[], Int32, Int32, Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

AddCurve(PointF[], Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

AddCurve(PointF[])

Hiermee voegt u een spline-curve toe aan de huidige afbeelding. Een kardinaliteitscurve wordt gebruikt omdat de curve door elk van de punten in de matrix loopt.

AddCurve(Point[])

Hiermee voegt u een spline-curve toe aan de huidige afbeelding. Een kardinaliteitscurve wordt gebruikt omdat de curve door elk van de punten in de matrix loopt.

AddCurve(Point[], Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

AddCurve(PointF[], Int32, Int32, Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

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

Parameters

points
PointF[]

Een matrix van PointF structuren die de punten vertegenwoordigt die de curve definiëren.

offset
Int32

De index van het element in de points matrix die wordt gebruikt als het eerste punt in de curve.

numberOfSegments
Int32

Het aantal segmenten dat wordt gebruikt om de curve te tekenen. Een segment kan worden beschouwd als een lijn die twee punten verbindt.

tension
Single

Een waarde die de hoeveelheid aangeeft die de curve buigt tussen besturingspunten. Waarden groter dan 1 produceren onvoorspelbare resultaten.

Voorbeelden

Zie AddCurve(Point[], Int32, Int32, Single)voor een voorbeeld.

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

De curve begint op het punt in de matrix die is opgegeven door offset, en bevat het aantal punten (segmenten) dat is opgegeven door numberOfSegments.

Van toepassing op

AddCurve(Point[], Int32, Int32, Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

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

Parameters

points
Point[]

Een matrix van Point structuren die de punten vertegenwoordigt die de curve definiëren.

offset
Int32

De index van het element in de points matrix die wordt gebruikt als het eerste punt in de curve.

numberOfSegments
Int32

Een waarde die de hoeveelheid aangeeft die de curve buigt tussen besturingspunten. Waarden groter dan 1 produceren onvoorspelbare resultaten.

tension
Single

Een waarde die de hoeveelheid aangeeft die de curve buigt tussen besturingspunten. Waarden groter dan 1 produceren onvoorspelbare resultaten.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een OnPaint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee maakt u een matrix van vier punten (die een kardineleline vertegenwoordigt).

  • Hiermee maakt u een pad en gebruikt u de matrix met punten en voegt u de curve toe aan het pad.

  • Hiermee tekent u het pad naar het scherm.

U ziet dat terwijl de matrix vier punten bevat, er slechts drie segmenten zijn, wat het getal is dat is opgegeven in het derde argument van de aanroep naar AddCurve.

private:
   void AddCurveExample( PaintEventArgs^ e )
   {
      // Create some points.
      Point point1 = Point(20,20);
      Point point2 = Point(40,0);
      Point point3 = Point(60,40);
      Point point4 = Point(80,20);

      // Create an array of the points.
      array<Point>^ curvePoints = {point1,point2,point3,point4};

      // Create a GraphicsPath object and add a curve.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddCurve( curvePoints, 0, 3, 0.8f );

      // Draw the path to the screen.
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );
      e->Graphics->DrawPath( myPen, myPath );
   }
private void AddCurveExample(PaintEventArgs e)
{
             
    // Create some points.
    Point point1 = new Point(20, 20);
    Point point2 = new Point(40, 0);
    Point point3 = new Point(60, 40);
    Point point4 = new Point(80, 20);
             
    // Create an array of the points.
    Point[] curvePoints = {point1, point2, point3, point4};
             
    // Create a GraphicsPath object and add a curve.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddCurve(curvePoints, 0, 3, 0.8f);
             
    // Draw the path to the screen.
    Pen myPen = new Pen(Color.Black, 2);
    e.Graphics.DrawPath(myPen, myPath);
}
Public Sub AddCurveExample(ByVal e As PaintEventArgs)

    ' Create some points.
    Dim point1 As New Point(20, 20)
    Dim point2 As New Point(40, 0)
    Dim point3 As New Point(60, 40)
    Dim point4 As New Point(80, 20)

    ' Create an array of the points.
    Dim curvePoints As Point() = {point1, point2, point3, point4}

    ' Create a GraphicsPath object and add a curve.
    Dim myPath As New GraphicsPath
    myPath.AddCurve(curvePoints, 0, 3, 0.8F)

    ' Draw the path to the screen.
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)
End Sub

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

De curve begint op het punt in de matrix die is opgegeven door de offset parameter en bevat het aantal punten (segmenten) dat is opgegeven door numberOfSegments.

Van toepassing op

AddCurve(PointF[], Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

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

Parameters

points
PointF[]

Een matrix van PointF structuren die de punten vertegenwoordigt die de curve definiëren.

tension
Single

Een waarde die de hoeveelheid aangeeft die de curve buigt tussen besturingspunten. Waarden groter dan 1 produceren onvoorspelbare resultaten.

Voorbeelden

Zie AddCurve(Point[], Int32, Int32, Single)voor een voorbeeld.

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

Van toepassing op

AddCurve(PointF[])

Hiermee voegt u een spline-curve toe aan de huidige afbeelding. Een kardinaliteitscurve wordt gebruikt omdat de curve door elk van de punten in de matrix loopt.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points);
public void AddCurve(System.Drawing.PointF[] points);
member this.AddCurve : System.Drawing.PointF[] -> unit
Public Sub AddCurve (points As PointF())

Parameters

points
PointF[]

Een matrix van PointF structuren die de punten vertegenwoordigt die de curve definiëren.

Voorbeelden

Zie AddCurve(Point[], Int32, Int32, Single)voor een voorbeeld.

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

Van toepassing op

AddCurve(Point[])

Hiermee voegt u een spline-curve toe aan de huidige afbeelding. Een kardinaliteitscurve wordt gebruikt omdat de curve door elk van de punten in de matrix loopt.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points);
public void AddCurve(System.Drawing.Point[] points);
member this.AddCurve : System.Drawing.Point[] -> unit
Public Sub AddCurve (points As Point())

Parameters

points
Point[]

Een matrix van Point structuren die de punten vertegenwoordigt die de curve definiëren.

Voorbeelden

Zie AddClosedCurve(Point[], Single)voor een voorbeeld.

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

Van toepassing op

AddCurve(Point[], Single)

Hiermee voegt u een spline-curve toe aan de huidige afbeelding.

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

Parameters

points
Point[]

Een matrix van Point structuren die de punten vertegenwoordigt die de curve definiëren.

tension
Single

Een waarde die de hoeveelheid aangeeft die de curve buigt tussen besturingspunten. Waarden groter dan 1 produceren onvoorspelbare resultaten.

Voorbeelden

Zie AddClosedCurve(Point[], Single)voor een voorbeeld.

Opmerkingen

De gebruiker moet de oorspronkelijke punten behouden als deze nodig zijn. De oorspronkelijke punten worden intern geconverteerd naar kubieke Bezier-besturingspunten, dus er is geen mechanisme voor het retourneren van de oorspronkelijke punten.

Van toepassing op