方法: ペンの幅と配置を設定する
Pen を作成する際には、コンストラクターの引数の 1 つとして、ペンの幅を指定できます。 ペンの幅は、Pen クラスの Width プロパティを使用して変更することもできます。
理論上の線の幅は 0 です。 幅が 1 ピクセルの線を描画すると、そのピクセルは理論上の線を中心にして配置されます。 幅が 1 ピクセルを超える線を描画した場合、ピクセルは理論上の線を中心にして配置されるか、理論上の線の片側に表示されます。 Pen のペンの配置プロパティを設定すると、そのペンで描画されるピクセルの、理論上の線に対する相対的配置方法を決定できます。
次のコード例に示されている、Center、Outset、Inset の値は、PenAlignment 列挙体のメンバーです。
次のコード例では、線を 2 回描画しています。1 回目では幅 1 の黒のペン、2 回目では幅 10 の緑色のペンを使用しています。
ペンの幅を変更するには
Alignment プロパティの値を Center (既定値) に設定して、緑色のペンで描画されるピクセルが、理論上の線を中心にして配置されるように指定します。 次の図は、結果として生成される線を示したものです。
次のコード例では、四角形を 2 回描画しています。1 回目では幅 1 の黒のペン、2 回目では幅 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
これで、次の図に示すように、幅の広い緑色の線のピクセルが、四角形の内側に表示されます。
関連項目
.NET Desktop feedback