CustomScript

2017年9月4日月曜日

画像ビューアー 「NeeView」1.27 更新しました

  • WPF
画像ビューアー NeeView を 1.27 に更新しました。(※ストア版は申請中です)
主な更新は、リサイズフィルターの実装です。

1.27

(2017-09-04)

■ リサイズフィルター実装

リサイズフィルターは表示サイズで画像を再レンダリングする処理です。 画像によってはにじみの少ない高品質の表示になります。
重い処理ですので必要に応じて有効化してください。
  • リサイズフィルターの設定はエフェクトパネルで行います。
  • 「リサイズフィルターON/OFF」コマンド追加(Ctrl+R)
  • リサイズの補完アルゴリズム、アンシャープマスク処理の設定が可能です。
  • 最大画像サイズ設定があります (詳細設定 > 最大画像サイズ)
    • 処理速度の問題のため、フィルター適用画像サイズはこの設定で制限されます。これ以上の拡大はこの最大画像サイズを引き伸ばした表示になります。
    • 読み込み画像自体にこの最大画像サイズを適用することでメモリ消費を抑えることも可能です (詳細設定 > 読み込み画像サイズ制限)
      • 読み込みでサイズ制限された場合、ファイル情報のサイズに * が追加表示されます
    • PDFの最大画像サイズと共通の設定になります (PDFページ最大サイズ設定廃止)

 エフェクトパネル整備

画像加工に関連する情報をまとめました。
  • 「ドットのまま拡大」をエフェクトパネルにも追加しました。
  • リサイズフィルターの設定を追加しました。
  • エフェクト自体の有効/無効を切り替えられるようにしました。
    • 「エフェクトON/OFF」コマンド追加 (Ctrl+E)
    • エフェクトON/OFF状態は保存されます。このため、前回使用していたエフェクトを復元する設定は廃止となります。

 ソリッド圧縮ファイルのページ送り速度改善

ソリッド圧縮ファイルの場合、1つのファイルを取り出す処理に時間がかかります。 このため、テンポラリフォルダーに事前に展開することでページ送り速度を改善しました。
  • rar,7z等でソリッド圧縮ファイルの可能性があります。zipはソリッド圧縮ファイルではありません。
  • 展開するソリッド圧縮ファイルの上限を設定可能 (詳細設定 > 7z.dllで事前展開する最大ファイルサイズ)
  • ソリッド圧縮ファイル以外も事前展開できるようにする設定可能 (詳細設定 > 7z.dllでは全て事前展開する)

 ページ操作回数での履歴登録

今まではブックを表示するだけで履歴に登録されましたが、これをページ操作が行われたタイミングで登録するように変更しました。 既定では1回の操作で履歴登録を行うようになります。
  • 履歴登録を行うページ操作数の設定 (詳細設定 > 履歴登録開始ページ操作回数)

 その他

  • パネルでの左右キー有効/無効設定 (詳細設定 > パネルでの左右キー有効)
    • フォルダーリストでは左右キーでフォルダー階層を移動しますが、これを無効にすると左右キーに関連付けられたコマンドが優先されます
  • EXIF回転反映を高速化した
  • EXIF回転設定廃止 (常に有効)
  • マウスジェスチャー自体の有効設定追加 (詳細設定 > マウスジェスチャー有効)
  • サムネイル画像生成アルゴリズム変更
  • サムネイルをPNGで保存できるようにした (詳細設定 > サムネイルフォーマット)
  • 先読みでPDF表示でのリサイズ処理を行うようにした
  • 2つめのウィンドウに座標復元を適用するかを設定できるようにした(詳細設定 > 2つめのウィンドウ座標の復元)
  • コンテンツ表示のサムネイルサイズ設定追加 (詳細設定 > ブックサムネイルサイズ)
  • コンテンツ表示のサムネイルポップアップ設定 (詳細設定 > ブックサムネイルのポップアップ)
  • コマンドでブックの並びをシャッフルに再度設定した場合にも並び替えを行うようにした

 バグ修正

  • マルチモニターでのウィンドウ座標復元バグ修正
  • フォルダーリストでファイルが削除された時に稀にハングするバグ修正



WPFは表示をGPUで処理しているので、画像表示の実体はテクスチャの貼られたポリゴンだったりします。そのため拡大縮小もリアルタイムでとても高速なのですが、品質はそれほど高くないようです(高品質設定でも拡大品質はバイリニアとほとんどかわらない)。

ということで、このバージョンからリサイズフィルターを実装しています。表示サイズでテクスチャを作り直す処理となります。CPU処理なのでとても重いです。なので、拡大縮小等は操作が終わってからリサイズ処理を行うようにしています。

リサイズフィルターは文字などが滲むような場合には効果が高いですが、画像によっては逆に荒が目立ってしまうため、一律に効果があるとは言えないようです。あと、ディスプレイの解像度が高い環境では効果が実感しにくいかと思われます。