DrawRectangle と Pen の設定による描画位置
DrawRectangle を使用した時、描画される位置をドット単位で意識しなくてはいけない事があったので、Pen の設定によりどの様に描画されるかを書き残しておきます。
さて、Pen設定による実際の描画を拡大した状態で、一覧にしてみました。黒の破線が、実際に指定したRectangle 構造体の位置を示し、赤の描画がPen設定のテストで表示された四角形です。
Pen.Alignment | Pen.Width = 1 | Pen.Width = 2 | Pen.Width = 3 | Pen.Width = 4 |
---|---|---|---|---|
Alignment.Center | ||||
Alignment.Inset |
Pen.Alignment = Alignment.Center の場合
Pen.Width に指定された値が奇数の場合は、指定した Rectangle を中心線となる様に奇麗に描画されます。偶数の場合は、指定した Rectangle の左側及び上側の方が、それぞれ右側、下側より1ドット分多い幅で描画されます。
Pen.Alignment = Alignment.Inset の場合
Pen.Width = 1 の場合は、Pen.Alignment = Alignment.Centerの場合と全く同じ様に描画されます。問題は、それ以外の幅のときです。指定した Rectangle の左側と上側は Rectangle で指定した線も含めて描画されますが、右側と下側は、Rectangleで指定した線を含めず、その内側から描画されます。
« タイトルバーのないフォームの移動 | トップページ | VS2008 XMLスキーマのプロジェクト取り込み »
「覚え書き」カテゴリの記事
- プロジェクトにXMLスキーマを取り込む場合の注意点(2012.10.14)
- VS2008 XMLスキーマのプロジェクト取り込み(2012.09.17)
- DrawRectangle と Pen の設定による描画位置(2011.09.24)
- タイトルバーのないフォームの移動(2011.09.23)
- TextBox のマウス位置に該当する行・桁位置を求める(2011.02.13)
この記事へのコメントは終了しました。
コメント