Cygwin に ImageMagick をインストールして複数の画像ファイルを一括変換する。
複数の画像ファイルを一括でリサイズしたいと思って調べたら、コンテキストメニューの「送る」→「メール受信者」を利用する方法を知りました。
www.sony.jp
これなら新しくソフトとかを入れずにできると思ってやってみたんですが、自分の環境*1だと上手く行きませんでした。
仕方なく他の方法を調べてみると、どうやら ImageMagick が一番使い勝手が良さそうだったので、Cygwin にインストールしてみました。
↑Cygwin のインストールウィザードにある[Select Packages]画面で、検索ボックスに"image"と入力して、Graphics カテゴリにある ImageMagic 行を何度かクリックして、New 列が"Install"になったら、「次へ」ボタンを押して行けばインストールできます。*2
Cygwin で実際にリサイズする時のコマンドですが、ImageMagick ではなく convert になります。
convert -help で使い方が表示されますけど、量が多いのでこのブログでは割愛します。
自分の場合、画像を縮小したいだけだったので、サブディレクトリ tmp を作成した後、こんな感じでやりました。
for i in `ls *.*`; do convert ${i} -resize 640x640 tmp/${i}; done
サイズ指定が 640x640 となってますが、元の画像ファイルのサイズが 2160x3840 の場合、リサイズされた画像ファイルは 360x640 のサイズになります。
つまり、縦横同じ数値を指定しても、元の縦横比を保ちつつ枠内に収まったファイルができます。
ちなみにPNGファイルをJPEGファイルに一括置換したい場合、変数展開を使えばスマートにできます。
for i in `ls *.png`; do convert ${i} tmp/${i%.png}.jpg; done
本当にJPEG形式に変換されたのかどうかを確認したければ、identify コマンドを使えば良いと思います。
参考記事:
- Resizing or Scaling -- IM v6 Examples
- Converting PNG to JPEG - black background - ImageMagick
- http://qiita.com/7of9/items/19d34b9cf185c2362a41
関連記事:
rms-099.hatenablog.jp
*1:メールアプリは Thunderbird です。
*2:自分は既に ImageMagick をインストール済みなので New 列が"Keep"になっています。