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 結構的陣列繪製一系列的貝氏曲線。

C#
public void DrawBeziers (System.Drawing.Pen pen, System.Drawing.Point[] points);
C#
public void DrawBeziers (System.Drawing.Pen pen, params System.Drawing.Point[] points);

參數

pen
Pen

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

points
Point[]

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

例外狀況

pen null

-或-

points null

範例

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

  • 建立黑色畫筆。

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

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

C#
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);
}

備註

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

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawBeziers(Pen, PointF[])

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

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

C#
public void DrawBeziers (System.Drawing.Pen pen, System.Drawing.PointF[] points);
C#
public void DrawBeziers (System.Drawing.Pen pen, params System.Drawing.PointF[] points);

參數

pen
Pen

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

points
PointF[]

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

例外狀況

pen null

-或-

points null

範例

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

  • 建立黑色畫筆。

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

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

C#
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);
}

備註

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

適用於

.NET 9 和其他版本
產品 版本
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

DrawBeziers(Pen, ReadOnlySpan<Point>)

來源:
Graphics.cs
來源:
Graphics.cs
C#
public void DrawBeziers (System.Drawing.Pen pen, scoped ReadOnlySpan<System.Drawing.Point> points);

參數

pen
Pen

適用於

.NET 9 和 Windows Desktop 9
產品 版本
.NET 9
Windows Desktop 9

DrawBeziers(Pen, ReadOnlySpan<PointF>)

來源:
Graphics.cs
來源:
Graphics.cs
C#
public void DrawBeziers (System.Drawing.Pen pen, scoped ReadOnlySpan<System.Drawing.PointF> points);

參數

pen
Pen

適用於

.NET 9 和 Windows Desktop 9
產品 版本
.NET 9
Windows Desktop 9