掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
グラフィック画面のチラツキ防止など (ID:21441)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>1.Imageに描いてImageに転送していますが お好みですが、TImageとか、ごついものを使わなくてもできます。 手始めに TBitmapを使って内容を作成し、 TCanvas.Drawや Bitbltをするという手法があります。 描画の内容が、完全にTBitmapの内容と常に一致している と保証できるのであれば、TCanvas.ClipRectを使って 必要な部分だけを再描画するといった効率的な処理ができます。 >2.画面をクリアする方法が分からずバックカラーで塗りつぶ それ(FillCharとかFillRect)でいいと思います。 TPicture系なら、 TPicture.Graphics:=nil で問題ないと過去に誰かに気づかされました。 白黒なら Bitblt(dc,Left,Top,Width,Height,0,0,0,BLACKNESS) Bitblt(dc,Left,Top,Width,Height,0,0,0,WHITENSS) などがお手軽です。 >3.チラツキの改善手段 手っ取り早いのは、TWinControl系のキャンバスに 描画してみてはいかがでしょうか。(TFormもそうです)。 その場合、TWinControl.DoubleBuffered プロパティが使えます。 また、Controls.pas の procedure TWinControl.WMPaint(var Message: TWMPaint); に、ちらつき防止に関するコードがあります。 ソースをお持ちでなければ、 CreateCompatibleDC CreateCompatibleBitmap CreateDIBSection Bitblt DeleteObject DeleteObject この辺のキーワードでググってみてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.