次の方法で共有


方法: ペンの幅と配置を設定する

Penを作成するときに、コンストラクターに引数の 1 つとしてペンの幅を指定できます。 Pen クラスの Width プロパティを使用して、ペンの幅を変更することもできます。

理論上の線の幅は 0 です。 幅が 1 ピクセルの線を描画すると、ピクセルは理論上の線の中央に配置されます。 複数のピクセル幅の線を描画する場合、ピクセルは理論上の線の中央に配置されるか、理論上の線の片側に表示されます。 Pen のペンの配置プロパティを設定して、そのペンで描画されたピクセルを理論上の線に対して相対的に配置する方法を決定できます。

次のコード例に示す値 CenterOutset、および Inset は、PenAlignment 列挙型のメンバーです。

次のコード例では、線を 2 回描画します。1 回は幅 1 の黒いペンで、1 回は幅 10 の緑色のペンを使用します。

ペンの幅を変更するには

  • Alignment プロパティの値を Center (既定値) に設定して、緑色のペンで描画されたピクセルが理論上の線の中央に配置されるように指定します。 次の図は、結果の行を示しています。

    緑が強調表示された黒い細い線。

    次のコード例では、四角形を 2 回描画します。1 回は幅 1 の黒いペンで、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)
    
    

インセット ペンを作成するには

  • 前のコード例の 3 番目のステートメントを次のように変更して、緑色のペンの配置を変更します。

    greenPen.Alignment = PenAlignment.Inset;
    
    greenPen.Alignment = PenAlignment.Inset
    
    

    次の図に示すように、幅の広い緑色の線のピクセルが四角形の内側に表示されます。

    黒い線で囲まれた四角形の中に、緑の線が引かれています。

関連項目