SetPixelの高速化

[戻る]
よしお 2005/02/05(土) 12:44:24
こんにちは。医用画像(バイナリ形式)を表示するプログラムを
作成しているのですが(512*512画素)、SetPixelを使用して画像を描画すると
上から下に徐々に画像が現れてしまいます。パッと画像が表示
されるようにプログラムを書き換えたいのですが、方法がわか
りません。C++ BuilderにあるようなScanLineのような機能等
うまいやり方をご存知の方、よろしくお願いします。

reshia [HomePage] 2005/02/05(土) 14:13:14
一般的かどうかは知りませんが、
裏画面を使うか、いったん画像をBitmapに変換してしまうか
Bitmapに変換してしまえば、一気に描画してくれるAPIがありますので・・・

裏画面は、「裏画面 VC」あたりで検索してみてください。
ダブルバッファリングとかいうアレです。
適当な回答ですみません

PATIO 2005/02/07(月) 10:21:54
SetPixelそのものを高速化というのは無理だと思います。
そもそもGDIの関数と言うのはスピードよりも汎用性を重視して設計されていると
おもうのでGDIにスピードを求めるのは無理があると思います。
それでも最近のPC環境であれば、reshiaさんが言われている裏画面を使った描画を
行う事でそれなりのスピードが出るとは思います。
この手法は割とメジャーな方法だと思うので御自分で調べてみる事をお勧めします。

最終的にはメモリ上でビットマップ変換してビットマップで描画するのが一番いいとは
思いますけれど、それなりに手間は掛かるのでその辺は工数との相談になると思います。

古いスレッドには追加発言できません。