Graphics.DrawBeziers 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從多個 Point 結構陣列繪製一系列貝塞爾樣條。
多載
| 名稱 | Description |
|---|---|
| DrawBeziers(Pen, Point[]) |
從多個 Point 結構陣列繪製一系列貝塞爾樣條。 |
| DrawBeziers(Pen, PointF[]) |
從多個 PointF 結構陣列繪製一系列貝塞爾樣條。 |
| DrawBeziers(Pen, ReadOnlySpan<Point>) |
從多個 Point 結構陣列繪製一系列貝塞爾樣條。 |
| DrawBeziers(Pen, ReadOnlySpan<PointF>) |
從多個 Point 結構陣列繪製一系列貝塞爾樣條。 |
DrawBeziers(Pen, Point[])
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- 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, params 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, ParamArray points As Point())
Public Sub DrawBeziers (pen As Pen, points As Point())
參數
例外狀況
範例
以下程式碼範例是為 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
- 來源:
- 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, params 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, ParamArray points As PointF())
Public Sub DrawBeziers (pen As Pen, points As PointF())
參數
例外狀況
範例
以下程式碼範例是為 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
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
從多個 Point 結構陣列繪製一系列貝塞爾樣條。
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))
參數
- points
- ReadOnlySpan<Point>
代表決定曲線的點的結構陣列 Point 。 陣列中的點數應為 3 加 1 的倍數,例如 4、7 或 10。
適用於
DrawBeziers(Pen, ReadOnlySpan<PointF>)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
從多個 Point 結構陣列繪製一系列貝塞爾樣條。
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))
參數
- points
- ReadOnlySpan<PointF>
代表決定曲線的點的結構陣列 Point 。 陣列中的點數應為 3 加 1 的倍數,例如 4、7 或 10。