none
イメージを描画するプログラムについて RRS feed

  • 質問

  •  こんにちは。

     今、ピクチャーボックスにイメージを描画させるプログラムを本をみて練習しています。この本はVisual Basic.NET 2002&2003に対応したものです。そして今、私が使っているのはVisual Basic 2005 Express Edition版です。

     リストボックスとピクチャーボックス、ボタンの作成、リストボックスのリストを移動させるなどのプログラムは、大体成功しましたが、ビルドはちゃんと成功し、デバックで動作確認させる段階になると、何故か(描画させたい場所の)ピクチャーボックスにイメージにある絵が移動してくれません。自分でもどこが悪いのか良くわかりません。お分かりになられる方がいらしたら助言を宜しくお願い致します。

     (描画させたい場所の)ピクチャーボックスを『PictrueBox1』、移動させたいイメージは『pctTanuki(たぬきの絵です。)』、移動させる機能ボタンは『btnDraw』です。

     プログラムは以下の通りです。因みにformで変数を一度、

    Public Class Form1

      Dim g as  Graphics

      Dim pctTanuki as PictureBox1

    と宣言しています。

       Private Sub btnDraw_CLick(ByVaL sender As System.Objest, _

                                                       ByVaL e As System.EventArgs) HandLes btnDraw.CLick

            Dim g  As Graphics

            g = PictureBox1.CreateGraphics()

           g.DrawImage(pctTanuki.Image, 0, 0, _

                                    PictureBox1. Width,PictureBox1.Height)

          g.Dispose()

         End Sub

    End Class

    という感じです。

     このプログラムはたぬきの絵がピクチャーボックスに入ると、ピクチャーボックスにある背景を隠して、イメージのピクチャーボックスの絵がそのままバンと入ってしまうだけのプログラムだそうです。

     次のプログラムはピクチャーボックスにある背景を隠さずに、イメージのピクチャーボックスの絵の周りの白い部分を透明にさせる機能をつけたプログラムです。フォームのところに『Dim btm As Bitmap』と宣言しています。以下は前述のプログラムにピクチャーボックスの背景を隠してしまわないように、たぬきの絵を入れるように少し加工させています。

     

    Private Sub btnDraw_CLick(ByVal sender As System.Object, _

                                                   ByVal e As System.EventArgs) HandLes btnDraw.CLick

      Dim g  As Graphics

      Dim bmp As Bitmap

     

      g = PictureBox1.CreateGraphics()

     

       bmp = New Bitmap(pctTanuki.Image)

       bmp.MakeTransparent(CoLor.White)

     

      g.DrawImage(bmp, 0, 0, _

                               PictureBox1.Width, PictureBox1.Height)

     

       g.Dispose()

      End Sub

    End Class

     という感じになります。

     これで以上です。とても長くなりましたが、宜しくお願い致します。

      

                                            桜子

     

     

                                                      

    2006年10月10日 3:44

すべての返信

  •  sakurako637819132 さんからの引用

     Public Class Form1

      Dim g as  Graphics

      Dim pctTanuki as PictureBox1

    と宣言しています。

       Private Sub btnDraw_CLick(ByVaL sender As System.Objest, _

                                                       ByVaL e As System.EventArgs) HandLes btnDraw.CLick

            Dim g  As Graphics

            g = PictureBox1.CreateGraphics()

           g.DrawImage(pctTanuki.Image, 0, 0, _

                                    PictureBox1. Width,PictureBox1.Height)

          g.Dispose()

         End Sub

    End Class

    まずは ここだけ

     

     Public Class Form1

      Dim g as  Graphics

      Dim pctTanuki as PictureBox 

       Private Sub btnDraw_CLick(ByVaL sender As System.Objest, _

                                                       ByVaL e As System.EventArgs) HandLes btnDraw.CLick

            pctTanuki = PictureBox1

            g = PictureBox1.CreateGraphics()

           g.DrawImage(pctTanuki.Image, 0, 0, _

                                    PictureBox1. Width,PictureBox1.Height)

          g.Dispose()

         End Sub

    End Class

    2006年10月10日 11:04
  • 下も同じでした
    2006年10月10日 11:07