VB.NET 解説 |
Pen |
最終更新:2004/09/05 |
●はじめに
.NETにおいてこのPenとBrushオブジェクトは基本的なものである。VB6では意識していなかったものなので、初めての人はちょっと馴染めない概念である(APIを使っている人には馴染み深いものであるが)。
名前通り、これは線を描画するためのツールである。線を引いたり、図形の外形を書いたり、パスをなぞったりするためのものである。
不思議なことであるが、このPenでは文字は書けない。
オブジェクト的に言えば、PenはBrushの仲間である。また、Brushと並んでシステムリソースを食うので、不要になった直ぐに破棄することが大切である。
●Penの種類
システムで予め用意されていて、参照できるシステムペンと自分で都度生成するカスタムペンがある。
・システムペン
Dim p As Pen = Pens.Aqua
などのようにして参照設定する。色はシステム標準色(約140色)があり、線種は実線のみで幅は常に1ピクセルとなっている。このペンは破棄してはいけない。
・カスタムペン
Dim p As Pen = New Pen(Color.XXXXX, 3)
などのようにして、変数宣言とともにNewキーワードにて、色と幅を指定してコンストラクタを呼び出して生成できる。
●Penの属性
カスタムペンには、色や幅以外に以下の属性がある。
・線種(ダッシュスタイル)
実線、鎖線、一点鎖線、二点鎖線、点線、ユーザ設定パターンがある。
<一点鎖線の設定例>
Dim p As New Pen(Color.Blue, 3)
p.DashStyle = Drawing.Drawing2D.DashStyle.DashDot
・キャップ(ラインキャップ)
キャップとは、線の端の形を言う。始点、終点、中間点(実線以外の場合意味がある)などに設定できる。
なし、矩形、丸、三角、矢印、丸矢印、矩形矢印、菱形矢印などがある。
<始点のキャップに矢印を設定した例>
Dim p As New Pen(Color.Blue, 5)
p.StartCap = Drawing.Drawing2D.LineCap.ArrowAnchor
中間点の場合は、DashCapと言い、なし、三角、丸しかない。
・接合(ラインジョイン)
線が連結し折点になる部分の頂点の形を指定する。
なし(マイター*)、丸み、台形(ベベル)、制限付マイター**がある。
<接合に丸みを設定した例>
Dim p As New Pen(Color.Blue, 8)
p.LineJoin = Drawing.Drawing2D.LineJoin.Round
*:マイターとは、接合部の頂点と谷までの距離のこと。鋭角になればなるほど大きくなる。0度では無限大となる。
**:マイターがむやみに延びないように、制限を設けたもの。MiterLimitプロパティで、マイターと幅の比で表す。デフォールトでは10になっている。リミットを超えるとベベルになる。
|