Graphics.DrawBeziers 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 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
從 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())
參數
例外狀況
範例
下列程式代碼範例是設計來搭配 Windows Forms 使用,而且需要 PaintEventArgse
,這是事件處理程序的參數Paint。 此程式碼會執行下列動作:
建立黑色畫筆。
建立第一個曲線的開始、結束和兩個控制點,以及第二個曲線的兩個控制點。
將連續的 Bézier 曲線繪製到螢幕。
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 點。 第一個 Bézier 曲線是從點陣列的第一個點繪製到第四個點。 第二和第三個點是決定曲線圖形的控制點。 每個後續曲線只需要三個以上的點:兩個以上的控制點和一個結束點。 上一個曲線的結束點會作為每個額外曲線的起點。
適用於
DrawBeziers(Pen, PointF[])
- 來源:
- 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())
參數
例外狀況
範例
下列程式代碼範例是設計來搭配 Windows Forms 使用,而且需要 PaintEventArgse
,這是事件處理程序的參數Paint。 此程式碼會執行下列動作:
建立黑色畫筆。
建立第一個曲線的開始、結束和兩個控制點,以及第二個曲線的兩個控制點。
將連續的 Bézier 曲線繪製到螢幕。
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 點。 第一個 Bézier 曲線是從點陣列的第一個點繪製到第四個點。 第二和第三個點是決定曲線圖形的控制點。 每個後續曲線只需要三個以上的點:兩個以上的控制點和一個結束點。 上一個曲線的結束點會作為每個額外曲線的起點。
適用於
DrawBeziers(Pen, ReadOnlySpan<Point>)
- 來源:
- Graphics.cs
public:
void DrawBeziers(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points);
public void DrawBeziers (System.Drawing.Pen pen, 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
- points
- ReadOnlySpan<Point>
適用於
DrawBeziers(Pen, ReadOnlySpan<PointF>)
- 來源:
- Graphics.cs
public:
void DrawBeziers(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points);
public void DrawBeziers (System.Drawing.Pen pen, 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
- points
- ReadOnlySpan<PointF>
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應