如何:設定畫筆寬度和對齊
當您建立 Pen 時,可以提供畫筆寬度做為建構函式的其中一個引數。 您也可以使用 Pen 類別的 Width 屬性來變更畫筆寬度。
理論線的寬度為 0。 當您繪製寬度為 1 像素的線條時,像素會位於理論線中央。 如果您繪製的線條寬度超過一個像素,則像素會位於理論線中央,或出現在理論線的一側。 您可以設定 Pen 的畫筆對齊屬性,以決定使用該畫筆繪製的像素相對於理論線條的方式。
出現在下列程式碼範例中的值 Center、Outset 和 Inset 是 PenAlignment 列舉的成員。
下列程式碼範例會繪製一條線兩次:一次是寬度為 1 的黑色畫筆,一次是寬度為 10 的綠色畫筆。
變更畫筆的寬度
將 Alignment 屬性的值設定為 Center (預設值),以指定使用綠色畫筆繪製的像素位於理論線中央。 下圖顯示產生的線條。
下列程式碼範例會繪製一個矩形兩次:一次是寬度為 1 的黑色畫筆,一次是寬度為 10 的綠色畫筆。
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50); // Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the line with the wide green pen. e.Graphics.DrawLine(greenPen, 10, 100, 100, 50) ' Draw the line with the thin black pen. e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
若要變更畫筆對齊
將 Alignment 屬性的值設定為 Center,以指定使用綠色畫筆繪製的像素會位於矩形的邊界中央。
下圖顯示產生的矩形:
Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1); Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10); greenPen.Alignment = PenAlignment.Center; // Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50); // Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1) Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10) greenPen.Alignment = PenAlignment.Center ' Draw the rectangle with the wide green pen. e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50) ' Draw the rectangle with the thin black pen. e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
建立內嵌畫筆
修改上述程式碼範例中的第三個陳述式,以變更綠色畫筆的對齊方式,如下所示:
greenPen.Alignment = PenAlignment.Inset;
greenPen.Alignment = PenAlignment.Inset
現在,寬綠色線條中的像素會出現在矩形內部,如下圖所示: