/// 実習H2 グラフィックス(1) プログラミング実習 目次に戻る
 back next 
グラフィックス・オブジェクトの図形描画のメソッド
直線 DrawLine(PEN, X1, Y1, X2, Y2)
 PENオブジェクトを使って、座標(X1, Y1)と(X2, Y2)を結ぶ直線を描画する。
消去 Clear(COLOR)
 グラフィックスを消去して、COLORで塗りつぶす。
四角形 DrawRectangle(PEN, X, Y, W, H)
 PENオブジェクトを使って、座標(X, Y)から幅W ×高さH の四角形を描画する。
だ円 DrawEllipse(PEN, X, Y, W, H)
 PENオブジェクトを使って、座標(X, Y)から幅W×高さHの四角形の中に収まるだ円を描画する。
塗りつぶし FillRectangle(BRUSHE, X, Y, W, H) … 塗りつぶしの四角形
FillEllipse(BRUSHE, X, Y, W, H)  … 塗りつぶしのだ円
 BRUSHEオブジェクトを使って、塗りつぶしの図形を描画する。
 BRUSHEオブジェクトもPENオブジェクトと同じように、Brushes.Redという形で色を指定する。
文字 DrawString(文字列, FONT, BRUSHE, X, Y)
 文字列FONTオブジェクトとBRUSHEオブジェクトを使って、座標(X, Y)に描画する。
 ’Fontオブジェクトの作成
 Dim MyFont As New Font(FONT_NAME, SIZE, STYLE)
  STYLEには、次のFontStyle列挙体を使う。 (例FontStyle.Bold)
   Bold … 太字テキスト
   Italic … 斜体テキスト
   Regular … 標準テキスト
   Strikeout … 中央に線が引かれているテキスト(取消線)
   Underline … 下線付きテキスト
  複数のスタイルを指定する場合は、Or演算子で演算をする。
  (例FontStyle.Bold Or FontStyle.Italic … 太字と斜体の指定)
画像 DrawImage(画像, X, Y)                     実習H4
 画像を座標(X, Y)に描画する。
実習H2図形描画 完成版実習H2図形描画 完成版

 


プロジェクト名  実習H2図形描画

動作説明

水平、垂直、斜めの3本の直線を描画する。
水平線は、黒色(Pens.Black)、(10, 100)-(290, 100)を結ぶ直線。
垂直線は、赤色(Pens.Red)、(70, 10)-(70, 290) を結ぶ直線。
斜線は、青色(Pens.Blue)、(30, 30)-(270, 270) を結ぶ直線。

デザイン


フォーム Form1
 Size = 410, 356

ボタン btnLine
 Location = 318, 12
 Text = 直線

ピクチャボックス picCanvas
 BackColor = White (白)
 BorderStyle = FixedSingle
 Location = 12, 12
 Size = 300, 300

コード(プログラム)

Public Class Form1
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Bitmapオブジェクト作成
    picCanvas.Image = New  @ (picCanvas.Width, picCanvas.Height)
  End Sub

  Private Sub btnLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLine.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics. A (picCanvas.Image)
    '水平線、黒色
     B (Pens.Black, 10, 100, 290, 100)
    '垂直線、赤色
    gr.DrawLine(Pens.Red, 70, 10, 70, 290)
    '斜線、青色
    gr.DrawLine(Pens.Blue, 30, 30, 270, 270)
    'picCanvasの更新
    picCanvas. C 
    'オブジェクト解放
    gr.Dispose()
  End Sub
End Class

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A   B   C
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [直線]ボタンをクリックすると直線が3本描画される。

 


H2の2  (消去)

動作説明

 グラフィックスを消去して、白色で塗りつぶす。

デザイン

追加  ボタン btnClear
 Location = 318, 289    Text = 消去

コード(プログラム)    追加部分のみ。 

  Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics.FromImage( @ )
    'グラフィックス消去()
    gr.Clear(Color. A )
    picCanvas.Refresh()    'picCanvasの更新
    gr.Dispose()    'オブジェクト解放
  End Sub

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [消去]ボタンをクリックするとグラフィックスが消去される。

 


H2の3  (四角形)

動作説明

 2つの四角形を描画する。(コードのコメントを参照)

デザイン

追加  ボタン btnShikaku
 Location = 318, 41    Text = 四角形

コード(プログラム)    追加部分のみ。 

   Private Sub btnShikaku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShikaku.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics.FromImage(picCanvas.Image)
    '長方形、緑色、始点(10,10)、幅200pix、高さ150pix
    gr.DrawRectangle(Pens.Green, 10, 10, 200, 150)
    '正方形、オレンジ色、始点(50,30)、幅150pix、高さ150pix
     @ (Pens.Orange, 50, 30, 150, 150)
    picCanvas. A     'picCanvasの更新
    gr.Dispose()    'オブジェクト解放
  End Sub

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [四角形]ボタンをクリックすると2つの四角形が描画される。

 


H2の4  (だ円)

動作説明

 円とだ円を描画する。(コードのコメントを参照)

デザイン

追加  ボタン btnDaen
 Location = 318, 70    Text = だ円

コード(プログラム)    追加部分のみ。 

  Private Sub btnDaen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDaen.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics.FromImage(picCanvas.Image)
    '円、マゼンタ色
    gr.DrawEllipse(Pens.Magenta, 0, 0, 150, 150)
    'だ円、オリーブ色
     @ (Pens.Olive, 20, 20, 250, 125)
    picCanvas.Refresh()    'picCanvasの更新
    gr. A     'オブジェクト解放
  End Sub

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [だ円]ボタンをクリックすると円とだ円が描画される。

 


H2の5  (塗りつぶし)

動作説明

 塗りつぶしの四角形とだ円を描画する。(コードのコメントを参照)

デザイン

追加  ボタン btnFill
 Location = 318, 99    Text = 塗りつぶし

コード(プログラム)    追加部分のみす。 

   Private Sub btnFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFill.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics.FromImage(picCanvas.Image)
    '塗りつぶしの四角形、チョコレート色
    gr.FillRectangle(Brushes.Chocolate, 100, 100, 150, 80)
    'だ円、シアン色
     @ (Brushes.Cyan, 50, 150, 120, 70)
     A .Refresh()    'picCanvasの更新
    gr.Dispose()    'オブジェクト解放
  End Sub

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [塗りつぶし]ボタンをクリックすると塗りつぶしの四角形と塗りつぶしのだ円が描画される。

 


H2の6  (文字)

動作説明

 「プログラミング実習」と描画する。

デザイン

追加  ボタン btnMoji
 Location = 318, 128    Text = 文字

コード(プログラム)    追加部分のみ。 

   Private Sub btnMoji_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMoji.Click
    'Graphicsオブジェクト作成
    Dim gr As Graphics = Graphics.FromImage(picCanvas.Image)
    'Fontオブジェクト作成
    Dim gfont As New Font("MS 明朝", 12, FontStyle.Bold)
    '文字描画             ↑”MS”は全角、”MS”と”明朝”の間は半角空白。
    gr.DrawString("プログラミング実習", gfont, Brushes.Black, 20, 10)
    picCanvas.Refresh() 'picCanvasの更新
     @ .Dispose()    'オブジェクト解放
     A .Dispose()    'オブジェクト解放
  End Sub

解答欄(英数字は半角で入力すること。余分な空白は入れないこと)
  @   A
   解答を入力し、[解答チェック]ボタンをクリックする。正解は   、不正解は   で表示される。

テスト

□ [文字]ボタンをクリックすると文字が描画される。

 

Memo  節約

 追加してきた描画のメソッドでは、「Graphicsオブジェクト作成」、「描画」、「更新」、「解放」の順でプログラムされている。オブジェクトを作成して、プログラム終了まで解放しなければ、それぞれのメソッドは、「描画」、「更新」だけで済む。すなわち、処理が節約できる。Webで説明しているので参考にしてみよう。  ⇒実習H2の節約バージョン

 

 back next 
/// 実習H2 グラフィックス(1) Copyright©2014 Hiroshi Masuda 

 

 

 

inserted by FC2 system