§17 グラフィックス(1)3 プログラミング実習
 back next 

【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

 

 back next 
 §17 グラフィックス(1)3 Copyright©2009 Hiroshi Masuda 

 

 

inserted by FC2 system