次の方法で共有


ペンの幅と配置の設定

Pen オブジェクトを作成するときに、ペンの幅をコンストラクターの引数の 1 つとして指定できます。 Pen::SetWidth メソッドを使用して、ペンの幅を変更することもできます。

理論上の線の幅は 0 です。 線を描画すると、ピクセルは理論上の線の中央に配置されます。 次の例では、指定した線を 2 回描画します。1 回は幅 1 の黒いペン、1 回は幅 10 の緑のペンを使用します。

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the line with the wide green pen.
stat = graphics.DrawLine(&greenPen, 10, 100, 100, 50);

// Draw the same line with the thin black pen.
stat = graphics.DrawLine(&blackPen, 10, 100, 100, 50);

次の図は、上記のコードの出力を示しています。 緑のピクセルと黒のピクセルは、理論上の線の中央に配置されます。

広い緑の線で囲まれた細い斜め黒い線を示す図

次の例では、指定した四角形を 2 回描画します。1 回は幅 1 の黒いペン、1 回は幅 10 の緑のペンを使用します。 このコードでは、PenAlignmentCenter (PenAlignment 列挙体の要素) 値を Pen::SetAlignment メソッドに渡して、緑色のペンで描画されたピクセルが四角形の境界の中央に配置されるように指定します。

Pen blackPen(Color(255, 0, 0, 0), 1);
Pen greenPen(Color(255, 0, 255, 0), 10);
stat = greenPen.SetAlignment(PenAlignmentCenter);

// Draw the rectangle with the wide green pen.
stat = graphics.DrawRectangle(&greenPen, 10, 100, 50, 50);

// Draw the same rectangle with the thin black pen.
stat = graphics.DrawRectangle(&blackPen, 10, 100, 50, 50);

次の図は、上記のコードの出力を示しています。 緑色のピクセルは、理論上の四角形の中央に配置され、黒いピクセルで表されます。

太い緑色の線で囲まれた四角形の形の細い黒い線を示す図

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

stat = greenPen.SetAlignment(PenAlignmentInset);

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

薄い黒い線が矩形の形状で、同じ形の太い緑色の線を囲んでいるイラストを示す