注意:画像の表示方法が分からないという方は、まず「コントロールやフォームに画像を表示する」をご覧ください。
Penクラスのインスタンスを作成するときに、そのコンストラクタにBrushオブジェクトを指定することにより、そのブラシを基にしてペンを作成することができます。例えば「グラデーションをかける」で紹介したようなブラシでペンを作成すれば、グラデーションのかかった線を引くことができます。同じように「画像で塗りつぶす」、「いろいろな模様(ハッチスタイル)で塗りつぶす」などで紹介したブラシを使えば、画像やハッチスタイルで線を引くこともできます。
以下に、グラデーションのかかった直線を引く例を示します。
'Imports System.Drawing 'Imports System.Drawing.Drawing2D 'がソースファイルの一番上に書かれているものとする '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas) 'グラデーションのブラシを作成 Dim gb As New LinearGradientBrush(New Point(10, 0), New Point(200, 0), _ Color.Red, Color.Yellow) 'ブラシを基にしてPenを作成 Dim p As New Pen(gb, 10) '線を引く g.DrawLine(p, 10, 10, 200, 10) p.Dispose() g.Dispose() 'PictureBox1に表示する PictureBox1.Image = canvas
//using System.Drawing; //using System.Drawing.Drawing2D; //がソースファイルの一番上に書かれているものとする //描画先とするImageオブジェクトを作成する Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height); //ImageオブジェクトのGraphicsオブジェクトを作成する Graphics g = Graphics.FromImage(canvas); //グラデーションのブラシを作成 LinearGradientBrush gb = new LinearGradientBrush(new Point(10, 0), new Point(200, 0), Color.Red, Color.Yellow); //ブラシを基にしてPenを作成 Pen p = new Pen(gb, 10); //線を引く g.DrawLine(p, 10, 10, 200, 10); p.Dispose(); g.Dispose(); //PictureBox1に表示する PictureBox1.Image = canvas;
この結果、下図のような線が引かれます。