方法 :テクスチャを使用して塗りつぶした直線を描画する
更新 : 2007 年 11 月
線を純色で描画する代わりに、テクスチャを使用して描画できます。テクスチャを使用して直線や曲線を描画するには、TextureBrush オブジェクトを作成し、その TextureBrush オブジェクトを Pen コンストラクタに渡します。テクスチャ ブラシに関連付けられたビットマップが使用され、そのビットマップ平面が見えないように並べられます。ペンが直線または曲線を描画するときに、並べられているテクスチャの特定のピクセルがペンのストロークに沿って表示されるようになります。
使用例
ファイル Texture1.jpg から Bitmap オブジェクトを作成する例を次に示します。そのビットマップを使用して TextureBrush オブジェクトを作成し、その TextureBrush オブジェクトを使用して Pen オブジェクトを作成しています。DrawImage を呼び出すと、左上隅が (0, 0) の位置にあるビットマップが描画されます。DrawEllipse の呼び出しでは、Pen オブジェクトを使用して、テクスチャを適用した楕円を描画しています。
ビットマップと、テクスチャが適用された楕円を次の図に示します。
Dim bitmap As New Bitmap("Texture1.jpg")
Dim tBrush As New TextureBrush(bitmap)
Dim texturedPen As New Pen(tBrush, 30)
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height)
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100)
Bitmap bitmap = new Bitmap("Texture1.jpg");
TextureBrush tBrush = new TextureBrush(bitmap);
Pen texturedPen = new Pen(tBrush, 30);
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);
コードのコンパイル方法
Windows フォームを作成し、フォームの Paint イベントを処理します。前述のコードを Paint イベント ハンドラに貼り付けます。 Texture.jpg を、システムで有効なイメージで置き換えます。