画像ビューアを作りたい

Windowsに元から付いてるやつがわりと理想的なんだけど、メニューやボタンが微妙に場所取ってるのが気になる。GIFが動かなくなったのも不便。当然だが自分で機能を追加することもできない。よって、これに代わるものを作りたい。

関連付けに関しては以前調べて、自分でレジストリをいじって希望の動作が得られたけど、やり方を忘れたのであとで調べる。

メニューやボタンは、ないとたぶん不便なんだろうけど、とりあえずなしで。背景色は白、透過付きの画像は白の灰色のアレで。キーボードで前後の画像に移動できる。右クリックすると、エクスプローラと同様のメニューが出る。ホイールで倍率変更。左ドラッグで動かす。手のマウスポインタでと思ったら、この絵はないのか?もにょ。スクロールバーを表示させるか。面倒だなあ。とりあえず普通のマウスポインタで妥協して作るか。全画面表示も欲しいところだが後回しで。

んー、マウスだけで操作できないとさすがに不便すぎるか。画像クリックで次の画像というのは、ちょっと筋が悪い気がする。マウスジェスチャもかったるいだろうな。Web漫画みたいにする?いやあれは相当なデザイン力が要る。まあここは試しながら探っていくことにしよう。

内部的なことで、次の画像を読み込んでおく必要がある。少なくとも前後の画像は読んでおきたい。キャッシュ破棄のタイミングが悩ましい。前後以外は遠慮なく捨ててしまうか。それとも上限メモリ使用量を決めておくか。そもそも、メモリの使用量を取得する方法を知らない。これは気が向いたら調べよう。メモリの上限を定める方法の場合、もっと先までキャッシュしておくことも考えたい。ここでやはり悩ましいのが破棄の順番。遠いものから順に捨てるか。あと、JPEGのデコードはしないけどHDDからは読んでおく、みたいなアイデアもある。これは難しい。流れで決めるしかないだろう。ここは決められない。自分の力のなさを感じる。

表示倍率について。例えば縦長の画像だけど幅もウィンドウよりあるとき、ウィンドウの縦に合わせるのがいわゆる「ウィンドウに合わせる」。で、原寸表示の前に、ウィンドウの横に合わせる倍率も置きたい。ホイールの倍率変化が、その3段階プラス通常の拡大だけってのはダメかな。

基本仕様はこのくらいでいいかな。これができれば、自分で好きな機能を付ける楽しみも出てくる。