如何:繪製基本曲線
基數曲線是一條曲線,可以平滑地通過一組指定的點。 若要繪製基數曲線,請建立 Graphics 物件,並將點陣列的位址傳遞至 DrawCurve 方法。
繪製鐘形基數曲線
下列範例會繪製通過五個指定點的鐘形基數曲線。 下圖顯示曲線和五個點。
Point[] points = {
new Point(0, 100),
new Point(50, 80),
new Point(100, 20),
new Point(150, 80),
new Point(200, 100)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points);
Dim points As Point() = { _
New Point(0, 100), _
New Point(50, 80), _
New Point(100, 20), _
New Point(150, 80), _
New Point(200, 100)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points)
繪製封閉基數曲線
- 使用 Graphics 類別的 DrawClosedCurve 方法來繪製封閉基數曲線。 在封閉的基數曲線中,曲線會從陣列的最後一個點繼續延伸,並與陣列中的第一個點連接。 下列範例會繪製通過六個指定點的封閉基數曲線。 下圖顯示封閉曲線以及六個點:
Point[] points = {
new Point(60, 60),
new Point(150, 80),
new Point(200, 40),
new Point(180, 120),
new Point(120, 100),
new Point(80, 160)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawClosedCurve(pen, points);
Dim points As Point() = { _
New Point(60, 60), _
New Point(150, 80), _
New Point(200, 40), _
New Point(180, 120), _
New Point(120, 100), _
New Point(80, 160)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawClosedCurve(pen, points)
變更基數曲線的彎曲
- 將張力引數傳遞至 DrawCurve 方法,以變更基數曲線彎曲的方式。 下列範例會繪製三個通過相同點集的基數曲線。 下圖顯示三條曲線及其張力的值。 請注意,當張力為 0 時,點會以直線連接。
Point[] points = {
new Point(20, 50),
new Point(100, 10),
new Point(200, 100),
new Point(300, 50),
new Point(400, 80)};
Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points, 0.0f);
e.Graphics.DrawCurve(pen, points, 0.6f);
e.Graphics.DrawCurve(pen, points, 1.0f);
Dim points As Point() = { _
New Point(20, 50), _
New Point(100, 10), _
New Point(200, 100), _
New Point(300, 50), _
New Point(400, 80)}
Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points, 0.0F)
e.Graphics.DrawCurve(pen, points, 0.6F)
e.Graphics.DrawCurve(pen, points, 1.0F)
編譯程式碼
上述範例是專為搭配 Windows Forms 使用而設計,而且需要 PaintEventArgse
,這是 Paint 事件處理常式的參數。