2013年7月13日土曜日

イメージビューアImageViewerの修正

スクリプトを修正すると、新しいバグが生じたりしています。
ユーザーが自分自身なので、そのつど修正しながら楽しんでいます。
よけいな画面の再描画を減らすことで、画面のちらつきを減らしています。

また新しく、Python Imaging Library (PIL)を使ってみました。
こちらでアンチエイリアスをかけて画像を縮小したら綺麗になるかと思ったわけです。
NetWalker上でもimport Imageとしても問題なく、PILはすでに動くようでしたので、使ってみました。

Windows上では、 PIL 1.1.7をインストールしました。

あたらしく、設定ファイルにQualityのスイッチをつけました。0-5の数字を指定します。
0: wxPythonのScaleでwx.IMAGE_QUALITY_NORMALを指定しています。
1: PILのresizeで Image.NEARESTを指定しています。
2: PILのresizeで Image.BILINEARを指定しています。
3: PILのresizeで Image.BICUBICを指定しています。
4: PILのresizeで Image.ANTIALIASを指定しています。
5: wxPythonのScaleでwx.IMAGE_QUALITY_HIGHを指定しています。

効果を見るためにキーボードの0-5を押すことでスイッチできるようにしてみました。
しかし、NetWalkerで3以上を指定すると、処理が重過ぎるためかまともに動きません。
じっくりまって現れる画像は、たしかに綺麗になっているような気はしますが、
実用的な速度ではないですね。
結局、0番のサクサク感を選ぶのでした。

5番を選ぶと、だいぶ再描画処理に時間がかかるので注意です。


0 件のコメント: