グラフ表示でのちらつきの解消方法
2011-05-19


現在、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にコピーしたことです。

これだけで、ちらつきなくグラフが更新されるようになります。
[ソフトウェア開発]
[VisualStudio]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット