次の方法で共有


方法: テクスチャを使用して塗りつぶした直線を描画する

単色で直線を描画するのではなく、テクスチャを使用して直線を描画することができます。 テクスチャを使用して直線や曲線を描画するには、TextureBrush オブジェクトを作成し、その TextureBrush オブジェクトを Pen コンストラクターに渡します。 テクスチャ ブラシに関連付けられたビットマップを使用して、平面に (表示されない状態で) 並べることができます。ペンで直線や曲線を描画すると、ペンのストロークによって、並べられたテクスチャの特定のピクセルが表示されます。

次の例では、ファイル Texture1.jpg から Bitmap オブジェクトを作成します。 そのビットマップを使用して TextureBrush オブジェクトを構築し、TextureBrush オブジェクトを使用して Pen オブジェクトを構築します。 DrawImage を呼び出すと、左上隅が (0, 0) のビットマップが描画されます。 DrawEllipse を呼び出すと、Pen オブジェクトを使用してテクスチャが設定された楕円が描画されます。

次の図は、ビットマップとテクスチャが設定された楕円を示しています。

Screenshot that shows the bitmap and the textured ellipse.

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);
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)

コードのコンパイル

Windows フォームを作成し、フォームの Paint イベントを処理します。 Paint イベント ハンドラーに上記のコードを貼り付けます。 Texture.jpg を、お使いのシステム上で有効な画像に置き換えてください。

関連項目