電子書籍の厳選無料作品が豊富!

VB.NETでのグラフィックの記述方法ですが
何かをクリックすると描画させるのではなく
単にあるsubプロシージャ内でグラフィックを描画させる記述する方法として
pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
を教えていただきました。そこで

private sub xy_keisan() '座標を計算させるプロシージャ
disp_x() 'x座標に目盛りを表示させるプロシージャ
disp_Y() 'xの目盛り数によってY座標の位置を変えて表示させるプロシージャ
end sub

private sub disp_x()
pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
g.DrawLine(******
end sub

private sub disp_y()
pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
g.DrawLine(******
end sub

のような記述(引数とか細かい所は端折っています)ですとdisp_yは描画されていますが,disp_xは消えてしまいます。
pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)
が消えてしまう原因だとおもって宣言場所を変えてみましたが同じです
逆にこれが無いと描画させることが出来なくなります。
これの意味も今ひとつ判りません
よろしくお願い致します

A 回答 (1件)

pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)



ってのは、「Bitmap を新しく作って、ピクチャボックスに指定する」こと、ですから
二度やれば、前のが分からなくなるのは当たり前ですね。

私は VB はよく知らないのですが、こんな感じかな。


private sub xy_keisan() '座標を計算させるプロシージャ
pictureBox1.Image=New Bitmap(PictureBox1.width,pictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
disp_x(g) 'x座標に目盛りを表示させるプロシージャ
disp_Y(g) 'xの目盛り数によってY座標の位置を変えて表示させるプロシージャ
end sub

private sub disp_x(g As Graphics)
g.DrawLine(******
end sub

private sub disp_y(g As Graphics)
g.DrawLine(******
end sub
    • good
    • 0
この回答へのお礼

早速のお返事有難うございます。
上手く出来ました。
大変助かり有難うございました

お礼日時:2002/09/26 12:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!