§17 グラフィックス(1)3 | プログラミング実習 |
【6】 ポリゴン(多角形)
グラフィックスクラスのポリゴンを使って、ピクチャボックスに三角形を描画する。
操作 16 ボタンを1つ追加し、プロパティを次のように設定する。ダブルクリックで配置する。
(Name) Button5 Location 215, 128 Text 三角形
操作 17 [三角形](Button5)ボタンのクリックイベントに対応するメソッドを次のように作成する。
Private Sub Button5_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button5.Click
Dim gr As Graphics = PictureBox1.CreateGraphics
'ピクチャボックス用
Dim gpen As New Pen(Color.Black, 1)
'ペンオブジェクト
Dim p1 As New Point(100, 50) '三角形の描画開始位置
Dim p2 As New Point(150, 150)
'三角形の次の位置
Dim p3 As New Point(50, 150) '三角形の描画終了位置
Dim pos As Point() = {p1, p2, p3}
'各座標の配列
'三角形
gr.DrawPolygon(gpen, pos)
gr.Dispose() 'オブジェクト解放
gpen.Dispose()
End Sub
gr.DrawPolygonメソッドでピクチャボックスのグラフィックスを消去している。
DrawPolygon(ペン, ポイント( )) ペン オブジェクトで、ポイント の配列で指定した座標を直線で結んで描画する。
実行して、[三角形]ボタンをクリックすると三角形が描画される。
【参考】次のようなプログラムで座標を指定することもできる。指定する座標が多くなっても変数を増やさなくてすむ。 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim gr As Graphics = PictureBox1.CreateGraphics 'ピクチャボックス用
Dim gpen As New Pen(Color.Black, 1) 'ペンオブジェクト
Dim pt() As Integer = {100, 50, 150, 150, 50, 150}
Dim pos(2) As Point, n As Integer
For n = 0 To 2
pos(n).X = pt(n * 2)
pos(n).Y = pt(n * 2 + 1)
Next
'三角形
<< 略 >>
End Sub
【7】 消去
描画したグラフィックスを消去する。
操作 18 ボタンを1つ追加し、プロパティを次のように設定する。ダブルクリックで配置する。
(Name) Button6 Location 215, 157 Text 消去
操作 19 [消去](Button6)ボタンのクリックイベントに対応するメソッドを次のように作成する。
Private Sub Button6_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button6.Click
Dim gr As Graphics = PictureBox1.CreateGraphics
'ピクチャボックス用
'消去
gr.Clear(PictureBox1.BackColor)
gr.Dispose() 'オブジェクト解放
End Sub
gr.Clearメソッドでピクチャボックスのグラフィックスを消去している。
Clear(色) グラフィックスを消去して、色 で塗りつぶす。
実行して、[消去]ボタンをクリックするとグラフィックスが消去される。
基本的なグラフィックスの描画ができれば、いろいろなグラフィックスが描画できる。ヘルプでGraphicsメンバ を調べてみよう。
次のプログラムのGraphics(下線部)にカーソルを移動して、[F1]キーを押すとヘルプが表示される。
Dim gr As Graphics = PictureBox1.CreateGraphics
§17 グラフィックス(1)3 | Copyright©2009 Hiroshi Masuda |