Bagikan melalui


Graphics.DrawBeziers Metode

Definisi

Menggambar serangkaian spline Bézier dari array struktur Point.

Overload

DrawBeziers(Pen, Point[])

Menggambar serangkaian spline Bézier dari array struktur Point.

DrawBeziers(Pen, PointF[])

Menggambar serangkaian spline Bézier dari array struktur PointF.

DrawBeziers(Pen, ReadOnlySpan<Point>)
DrawBeziers(Pen, ReadOnlySpan<PointF>)

DrawBeziers(Pen, Point[])

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Menggambar serangkaian spline Bézier dari array struktur Point.

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

Parameter

pen
Pen

Pen yang menentukan warna, lebar, dan gaya kurva.

points
Point[]

Array struktur Point yang mewakili titik yang menentukan kurva. Jumlah titik dalam array harus kelipatan 3 plus 1, seperti 4, 7, atau 10.

Pengecualian

pen null.

-atau-

points null.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

  • Membuat pena hitam.

  • Membuat titik kontrol awal, akhir, dan dua untuk kurva dan titik akhir pertama dan dua titik kontrol untuk kurva kedua.

  • Menggambar kurva Bézier berturut-turut ke layar.

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

Keterangan

Jumlah titik dalam array harus kelipatan 3 plus 1 karena spline pertama membutuhkan 4 poin dan spline lainnya memerlukan masing-masing 3 poin. Spline Bézier pertama ditarik dari titik pertama ke titik keempat dalam array titik. Poin kedua dan ketiga adalah titik kontrol yang menentukan bentuk kurva. Setiap kurva berikutnya membutuhkan tepat tiga poin lagi: dua titik kontrol lagi dan titik akhir. Titik akhir kurva sebelumnya digunakan sebagai titik awal untuk setiap kurva tambahan.

Berlaku untuk

DrawBeziers(Pen, PointF[])

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Menggambar serangkaian spline Bézier dari array struktur PointF.

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

Parameter

pen
Pen

Pen yang menentukan warna, lebar, dan gaya kurva.

points
PointF[]

Array struktur PointF yang mewakili titik yang menentukan kurva. Jumlah titik dalam array harus kelipatan 3 plus 1, seperti 4, 7, atau 10.

Pengecualian

pen null.

-atau-

points null.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

  • Membuat pena hitam.

  • Membuat titik kontrol awal, akhir, dan dua untuk kurva dan titik akhir pertama dan dua titik kontrol untuk kurva kedua.

  • Menggambar kurva Bézier berturut-turut ke layar.

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

Keterangan

Jumlah titik dalam array harus kelipatan 3 plus 1 karena spline pertama membutuhkan 4 poin dan spline lainnya memerlukan masing-masing 3 poin. Kurva Bézier pertama digambar dari titik pertama ke titik keempat dalam array titik. Poin kedua dan ketiga adalah titik kontrol yang menentukan bentuk kurva. Setiap kurva berikutnya membutuhkan tepat tiga poin lagi: dua titik kontrol lagi dan titik akhir. Titik akhir kurva sebelumnya digunakan sebagai titik awal untuk setiap kurva tambahan.

Berlaku untuk

DrawBeziers(Pen, ReadOnlySpan<Point>)

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

Parameter

pen
Pen

Berlaku untuk

DrawBeziers(Pen, ReadOnlySpan<PointF>)

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

Parameter

pen
Pen

Berlaku untuk