共用方式為


Graphics.DrawBeziers 方法

定義

Point 結構的陣列繪製一系列的貝氏曲線。

多載

DrawBeziers(Pen, Point[])

Point 結構的陣列繪製一系列的貝氏曲線。

DrawBeziers(Pen, PointF[])

PointF 結構的陣列繪製一系列的貝氏曲線。

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

DrawBeziers(Pen, Point[])

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

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())

參數

pen
Pen

Pen,決定曲線的色彩、寬度和樣式。

points
Point[]

Point 結構的陣列,表示決定曲線的點。 陣列中的點數應該是 3 加 1 的倍數,例如 4、7 或 10。

例外狀況

pen null

-或-

points null

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立黑色畫筆。

  • 建立第一個曲線的開始、結束和兩個控制點,以及第二個曲線的兩個控制點。

  • 將連續的貝氏曲線繪製到螢幕。

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

備註

陣列中的點數應該是 3 加 1 的倍數,因為第一個曲線需要 4 點,而任何其他曲線各需要 3 點。 第一個貝氏曲線是從第一個點繪製到點陣列中的第四個點。 第二和第三個點是決定曲線形狀的控制點。 每個後續曲線只需要另外三個點:另外兩個控制點和終點。 上一個曲線的結束點會作為每個額外曲線的起點。

適用於

DrawBeziers(Pen, PointF[])

來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs
來源:
Graphics.cs

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())

參數

pen
Pen

Pen,決定曲線的色彩、寬度和樣式。

points
PointF[]

PointF 結構的陣列,表示決定曲線的點。 陣列中的點數應該是 3 加 1 的倍數,例如 4、7 或 10。

例外狀況

pen null

-或-

points null

範例

下列程式代碼範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse,這是 Paint 事件處理程式的參數。 程式代碼會執行下列動作:

  • 建立黑色畫筆。

  • 建立第一個曲線的開始、結束和兩個控制點,以及第二個曲線的兩個控制點。

  • 將連續的貝氏曲線繪製到螢幕。

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

備註

陣列中的點數應該是 3 加 1 的倍數,因為第一個曲線需要 4 點,而任何其他曲線各需要 3 點。 第一個貝氏曲線是從點陣列的第一個點繪製到第四個點。 第二和第三個點是決定曲線形狀的控制點。 每個後續曲線只需要另外三個點:另外兩個控制點和終點。 上一個曲線的結束點會作為每個額外曲線的起點。

適用於

DrawBeziers(Pen, ReadOnlySpan<Point>)

來源:
Graphics.cs
來源:
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))

參數

pen
Pen

適用於

DrawBeziers(Pen, ReadOnlySpan<PointF>)

來源:
Graphics.cs
來源:
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))

參數

pen
Pen

適用於