如何:設定畫筆寬度和對齊

當您建立 Pen 時,可以提供畫筆寬度做為建構函式的其中一個引數。 您也可以使用 Pen 類別的 Width 屬性來變更畫筆寬度。

理論線的寬度為 0。 當您繪製寬度為 1 像素的線條時,像素會位於理論線中央。 如果您繪製的線條寬度超過一個像素,則像素會位於理論線中央,或出現在理論線的一側。 您可以設定 Pen 的畫筆對齊屬性,以決定使用該畫筆繪製的像素相對於理論線條的方式。

出現在下列程式碼範例中的值 CenterOutsetInsetPenAlignment 列舉的成員。

下列程式碼範例會繪製一條線兩次:一次是寬度為 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
    
    

    現在,寬綠色線條中的像素會出現在矩形內部,如下圖所示:

    以黑色線條繪製的矩形,內有寬綠色線條。

另請參閱