Graphics.DrawBeziers Metod

Definition

Ritar en serie Bézier-splines från en matris med Point strukturer.

Överlagringar

Name Description
DrawBeziers(Pen, PointF[])

Ritar en serie Bézier-splines från en matris med PointF strukturer.

DrawBeziers(Pen, Point[])

Ritar en serie Bézier-splines från en matris med Point strukturer.

DrawBeziers(Pen, PointF[])

Ritar en serie Bézier-splines från en matris med PointF strukturer.

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

Parametrar

pen
Pen

Pen som bestämmer kurvans färg, bredd och format.

points
PointF[]

Matris med PointF strukturer som representerar de punkter som avgör kurvan. Antalet punkter i matrisen ska vara en multipel av 3 plus 1, till exempel 4, 7 eller 10.

Undantag

pen är null.

-eller-

points är null.

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:

  • Skapar en svart penna.

  • Skapar start-, slut- och två kontrollpunkter för en första kurva och slutpunkt och två kontrollpunkter för en andra kurva.

  • Drar de efterföljande Bézier-kurvorna till skärmen.

private:
   void DrawBeziersPointF( PaintEventArgs^ e )
   {
      // Create pen.
      Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create points for curve.
      PointF start = PointF(100.0F,100.0F);
      PointF control1 = PointF(200.0F,10.0F);
      PointF control2 = PointF(350.0F,50.0F);
      PointF end1 = PointF(500.0F,100.0F);
      PointF control3 = PointF(600.0F,150.0F);
      PointF control4 = PointF(650.0F,250.0F);
      PointF end2 = PointF(500.0F,300.0F);
      array<PointF>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};

      // Draw arc to screen.
      e->Graphics->DrawBeziers( blackPen, bezierPoints );
   }
private void DrawBeziersPointF(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);
             
    // Create points for curve.
    PointF start = new PointF(100.0F, 100.0F);
    PointF control1 = new PointF(200.0F, 10.0F);
    PointF control2 = new PointF(350.0F, 50.0F);
    PointF end1 = new PointF(500.0F, 100.0F);
    PointF control3 = new PointF(600.0F, 150.0F);
    PointF control4 = new PointF(650.0F, 250.0F);
    PointF end2 = new PointF(500.0F, 300.0F);
    PointF[] bezierPoints = { start, control1, control2, end1,
         control3, control4, end2 };      
                 
    // Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPointF(ByVal e As PaintEventArgs)

    ' Create pen.
    Dim blackPen As New Pen(Color.Black, 3)

    ' Create points for curve.
    Dim start As New PointF(100.0F, 100.0F)
    Dim control1 As New PointF(200.0F, 10.0F)
    Dim control2 As New PointF(350.0F, 50.0F)
    Dim end1 As New PointF(500.0F, 100.0F)
    Dim control3 As New PointF(600.0F, 150.0F)
    Dim control4 As New PointF(650.0F, 250.0F)
    Dim end2 As New PointF(500.0F, 300.0F)
    Dim bezierPoints As PointF() = {start, control1, control2, _
    end1, control3, control4, end2}

    ' Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub

Kommentarer

Antalet punkter i matrisen ska vara en multipel av 3 plus 1 eftersom den första spline kräver 4 punkter och andra splines kräver 3 punkter vardera. Den första Bézier-kurvan dras från den första punkten till den fjärde punkten i punktmatrisen. De andra och tredje punkterna är kontrollpunkter som bestämmer kurvans form. Varje efterföljande kurva behöver exakt tre punkter till: ytterligare två kontrollpunkter och en slutpunkt. Slutpunkten för den föregående kurvan används som startpunkt för varje ytterligare kurva.

Gäller för

DrawBeziers(Pen, Point[])

Ritar en serie Bézier-splines från en matris med Point strukturer.

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

Parametrar

pen
Pen

Pen som bestämmer kurvans färg, bredd och format.

points
Point[]

Matris med Point strukturer som representerar de punkter som avgör kurvan. Antalet punkter i matrisen ska vara en multipel av 3 plus 1, till exempel 4, 7 eller 10.

Undantag

pen är null.

-eller-

points är null.

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärder:

  • Skapar en svart penna.

  • Skapar start-, slut- och två kontrollpunkter för en första kurva och slutpunkt och två kontrollpunkter för en andra kurva.

  • Drar de efterföljande Bézier-kurvorna till skärmen.

private:
   void DrawBeziersPoint( PaintEventArgs^ e )
   {
      // Create pen.
      Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create points for curve.
      Point start = Point(100,100);
      Point control1 = Point(200,10);
      Point control2 = Point(350,50);
      Point end1 = Point(500,100);
      Point control3 = Point(600,150);
      Point control4 = Point(650,250);
      Point end2 = Point(500,300);
      array<Point>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};

      // Draw arc to screen.
      e->Graphics->DrawBeziers( blackPen, bezierPoints );
   }
private void DrawBeziersPoint(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);
             
    // Create points for curve.
    Point start = new Point(100, 100);
    Point control1 = new Point(200, 10);
    Point control2 = new Point(350, 50);
    Point end1 = new Point(500, 100);
    Point control3 = new Point(600, 150);
    Point control4 = new Point(650, 250);
    Point end2 = new Point(500, 300);
    Point[] bezierPoints =
             {
                 start, control1, control2, end1,
                 control3, control4, end2
             };
             
    // Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPoint(ByVal e As PaintEventArgs)

    ' Create pen.
    Dim blackPen As New Pen(Color.Black, 3)

    ' Create points for curve.
    Dim start As New Point(100, 100)
    Dim control1 As New Point(200, 10)
    Dim control2 As New Point(350, 50)
    Dim end1 As New Point(500, 100)
    Dim control3 As New Point(600, 150)
    Dim control4 As New Point(650, 250)
    Dim end2 As New Point(500, 300)
    Dim bezierPoints As Point() = {start, control1, control2, _
    end1, control3, control4, end2}

    ' Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub

Kommentarer

Antalet punkter i matrisen ska vara en multipel av 3 plus 1 eftersom den första spline kräver 4 punkter och andra splines kräver 3 punkter vardera. Den första Bézier-spline dras från den första punkten till den fjärde punkten i punktmatrisen. De andra och tredje punkterna är kontrollpunkter som bestämmer kurvans form. Varje efterföljande kurva behöver exakt tre punkter till: ytterligare två kontrollpunkter och en slutpunkt. Slutpunkten för den föregående kurvan används som startpunkt för varje ytterligare kurva.

Gäller för