/// 実習I1 グラフィックス(2) プログラミング実習 目次に戻る
 back next 

プロジェクト名  実習Iイメージ移動1

動作説明

 ピクチャボックスに画像を表示する。 (まだ移動しない)

デザイン

実習I1
↑実行結果(デザイン時は画像表示なし)
フォーム  Form1
 Size = 470, 300
 
ピクチャボックス picField
 BackColor = White (白)
 BorderStyle = FixedSingle
 Image = right1.gif
 Location = 12, 12
 Size = 360, 240

コード(プログラム)

Public Class Form1
  Dim Gx, Gy As Integer    '表示座標(X,Y)用 メンバ変数
  Dim Gr As Graphics       'Graphics用    メンバ変数
 
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Bitmapオブジェクト作成
    picField.Image = New  @ (picField.Width, picField.Height)
    'Graphicsオブジェクト作成
    Gr = Graphics.FromImage( A )    ※1
    '描画座標(100,100)に設定(初期化)
     B  = 100    'x座標
     C  = 100    'y座標
    '画像を座標(Gx,Gy)に描画
    Gr.DrawImage(My.Resources.right1, Gx, Gy)
    picField.Refresh()    'ピクチャボックスの更新
  End Sub
 
  Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    Gr.Dispose()    '終了時にオブジェクト解放  ※2
  End Sub
End Class

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

キーワード

メンバ変数
クラス内(Public Class Form1 〜 End Class)のすべてのメソッドから参照できる(利用できる)変数。
実習E3,E5,E9で利用。

解説

※1 変数Grは、メンバ変数として宣言済であるから、Grapichsオブジェクトを変数Grに代入するだけとなっている。
※2 プログラムが終了するときに、Grapichsオブジェクト(変数Gr)を解放する。
 プログラムが終了するまで、Grapichsオブジェクトの変数Grは使い続けることができる。

テスト

□ ピクチャボックスの座標(100,100)に画像が表示される。

 


I1の2

動作説明

 ボタンをクリックすると画像が右方向に移動する。かな?

デザイン

実習I1の2 ボタン  btnRight
 Text = 右へ
 ↓実行結果
実習I1の2の実行結果

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

   Private Sub btnRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRight.Click
    '右へ10ピクセル移動
    Gx =  @  + 10
    '画像を座標(Gx,Gy)に描画
    Gr. A (My.Resources.right1, Gx, Gy)
    picField.Refresh()    'ピクチャボックスの更新
  End Sub

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

解説

 変数Grは、メンバ変数として宣言済みである。また、Form1_LoadメソッドでGraphicsオブジェクトを代入しているので、Graphicsオブジェクトを改めて作成する必要はない。

テスト

□ [右へ]ボタンをクリックすると、移動前の画像に重なって表示される。

 


I1の3

動作説明

 ボタンをクリックすると画像が右方向に移動する。

デザイン  変更なし

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

   Private Sub btnRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRight.Click
    '右へ10ピクセル移動
    Gx =  @  + 10
    'グラフィックス消去
    Gr. A (Color.White)    'グラフィックス消去  ←この1行を追加
    '画像を座標(Gx,Gy)に描画
    Gr. B (My.Resources.right1, Gx, Gy)
    picField.Refresh()    'ピクチャボックスの更新
  End Sub

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

解説

 「消してから描く」である。

テスト

□ [右へ]ボタンをクリックすると、画像が移動する。

 


課題 [左へ]ボタン(btnLeft)、[上へ]ボタン(btnUp)、[下へ]ボタン(btnDown)を追加し、画像が上下左右に移動できるようにせよ。

実習I1の課題

 

 back next 
/// 実習I1 グラフィックス(2) Copyright©2015-2017 Hiroshi Masuda 

 

 

 

inserted by FC2 system