私はズームインして表示したいximageを持っています。動作しますが、ゆっくりと、そして私は大きなズームレベルに近づいたら、800%のように、クロールXlibで画像を遠くに拡大
allocate bigger image
use nearest-neighbor interpolation to fill it in.
put the whole image on a pixmap.
:私は現在、単純なアプローチを取っています。しかし、Gimpは3200%にズームインしても、やはり気分が悪くなります。ここで取り上げるアプローチは何ですか?私は一度に1つの画面だけを満たすべきですか?しかし、スクロールについてはどうでしょうか?補間やXPutImage、XCopyAreaを実行しないと、それぞれの強制終了のパフォーマンスが低下します。
はい、Gimpはgdkを利用しますが、gdkはXlibまたはxcbを使用します。いずれにしても、共有メモリピックスマップ(私が検討していた別のもの)なしで、あなたはX11 PutImageリクエストを実行しています。 – Dave
あるレベルでは、はい。しかし、Gimpは、キャンバス全体を1つのXImageに保存してXLib/X11にスケーリングを行わせることはほとんどありません。キャンバスがズーム/スクロールされるたびに、別のイメージをレンダリングする可能性が非常に高くなります。画面上のウィンドウより大きくない – duskwuff
しかし、彼らはウィンドウに置くバッファー上で補間を実行するのですか、またはエクスポージャーごとに補間を実行しますか? – Dave