ドリンクバーゲン会場

グラフ表示でのちらつきの解消方法2011年05月19日 17時39分40秒

現在、VB.NETでグラフを表示するプログラムを作成しています。
PictureBoxに線や文字を書きこんで表示させるのですが、
タイマーで定期的に更新する際に、画面がちらつく状態になってしまいました。

********************************************
'PictureBoxと関連付け
Dim pic As Graphics = PictureBox1.CreateGraphics()

'画面クリア
pic.Clear(Color.White)

ここに書込み処理が入ります。
*********************************************

ピクチャーボックスにダイレクトに書込みをしていたため、
新しいグラフの描画の前に画面をクリアしていたのですが、それがちらつきの原因でした。
そこで、ちらつかないようにバッファに書込みを行いそのデータをPictureBox
に表示させるように修正しました。

*********************************************
'グラフ用のバッファエリアを作成
Dim bmpbuf As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim pic As Graphics = Graphics.FromImage(bmpbuf)

'画面クリア
pic.Clear(Color.White)

ここに書込み処理が入ります。

'バッファからPictureBoxにコピー
Me.PictureBox1.Image = bmpbuf
*********************************************

変更点は、Pictuirebox1と同じサイズのビットマップを作成し、
ビットマップと関連付けをしたことと、
描画が終わった後PictureBoxにコピーしたことです。

これだけで、ちらつきなくグラフが更新されるようになります。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://n-box.asablo.jp/blog/2011/05/19/5870870/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。