ソフトを開発しようと思った動機、背景
デスクトップ壁紙素材の展示サイトをサブサイトとして運営している関係で、壁紙のサムネイルなどを大量に作成しなければなりませんでした。壁紙作成に使用している画像編集ソフトは複数のファイルを処理することに特化されているわけではなかったので、「複数ファイル一括処理」「出力先フォルダを選べる」「サイズなどをすぐに切り替えられる」という仕様を持ったサムネイル作成ソフトを作ろうと思いました。そして、ファイルリストによる一括処理と画像サイズや出力先フォルダなどの設定をひとまとめにしたプロファイルを瞬時に切り替えることができるようにして、せっかくだからサムネイルも美しくしようじゃないかということでバイリニア(Bi-Liner)法と積分法を用いた拡大・縮小を実装することにしました。開発中に苦労した点
ライブラリやカスタムコンポーネントを多用しているので、新たにコーディングする手間は省けましたが、サムネイル作成処理だけは出力拡張子の関係もあるので、分岐がやたらと増えてコーディング量が多くなり、処理の把握がしづらかったです。あと、Delphiでソフト作っているといつも悩まされるのがフォーム(ウィンドウ)デザインです。各種コントロールの配置からタブオーダーの設定など気を配ったつもりです。ウィンドウサイズをあまり小さくできなかったので、画面の小さな環境の方には少し使いづらくなってしまったかもしれません。一番辛かったのは、途中でなぜかDelphiのデバッガが使えなかったことです(致命的だった)。
ユーザにお勧めする使い方
あらかじめ目的別にプロファイルを作成し、ファイルに保存しておくことです。こうすることによって、あとから同じサイズの画像を作る必要があっても、ファイルリストに処理するファイルを読み込んで、プロファイルを適用するだけで同じ処理をすることができるので便利です。なお、プロファイルはProfileフォルダに入れておくと起動時、自動的にプロファイルリストに追加されます。
操作上注意してほしいこと
《拡大に関して》 あまり極端に画像を大きくしないことをお勧めします。品質の劣化やプレビューを作成するのに時間がかかったり、作成時のCPUへの思わぬ負荷などが起こることがあります。一般に元の画像に対して20%以上大きくしない方がいいようです。
《ドット絵などの拡大縮小について》 正直言ってあまり向いてません。フィルタ機能や増減色にも対応していないので(フィルタ機能や増減色は、いまのところ実装する予定はありません)。
今後のバージョンアップ予定
現状のサムネイル作成処理は実行するたびにファイルリストを消去するので、今後のバージョンでは、実行後に確認のダイアログを出そうと思っています。また新機能として、同一のファイルリストに対し、複数のプロファイルを一気に処理させる機能を追加予定です。プロファイルも元の画像サイズに対してパーセンテージでのサイズ指定や、連番追加などの、より詳細なファイル名操作などの機能も追加予定です。そのほか、何か拡張案や修正案があったら、それに対応していくつもりです。
(totonica)