色んなバージョンの ImageMagick で convert

以前、色んなバージョンの ImageMagick を一気に build する手順を紹介しましたが、それらのバージョンをバッチで一気に実行するスクリプトを張っておきます。

注意点は以下の2つ。

  • 最後の引数に version のプレフィックスを付けるので、最終出力ファイルを引数の最後に持ってくるようにして下さい。
  • 最後の引数と同じ文字が前の方の引数にもあると両方プレフィックスが付きます(手抜きです)。普通そうなるケースは無いはず。です。

実行

yoya@sakura:~/magika$ sh convert_allver.sh  madoka.png madoka.gif
/home/yoya/ImageMagick/4.2.9/bin/convert madoka.png 4.2.9-madoka.gif
/home/yoya/ImageMagick/5.2.6/bin/convert madoka.png 5.2.6-madoka.gif
<略>
/home/yoya/ImageMagick/6.8.5/bin/convert madoka.png 6.8.5-madoka.gif
<略>

time をかければ各バージョンでの実行時間の違いも分かったりします。

スクリプト (shell)

  • sh convert_allver.sh
imagemagick_dir=$HOME/ImageMagick

last_arg=`eval echo '$'{$#}`

for ver in `ls -r $imagemagick_dir`
do
  option=""
  for arg in $*
  do
     if [ "$arg" != "$last_arg" ]; then
       option="$option $arg"
     else
       option="$option $ver-$arg"
     fi
  done
convert=$imagemagick_dir/$ver/bin/convert
echo $convert $option
$convert $option
done

古いバージョンの細かいの

古いソースコードは、

この2つを見ていたのですが、各バージョンでパッチ番号最新版しか残ってなく、でもパッチ番号で画質が変わる事もあるので、探してみたら以下のサイトを発見

まとめて取得したいのでリスト作成

yoya@sakura:~$ wget http://www.veidrodis.com/mirror/image_magick
yoya@sakura:~$ wget http://www.veidrodis.com/mirror/image_magick/legacy
yoya@sakura:~/imagemagick$ grep ImageMagick- image_magick | grep tar.gz |  awk -F'"' '{ print $4}' > image_magick.files
yoya@sakura:~/imagemagick$ grep ImageMagick- legacy | grep tar.gz |  awk -F'"' '{ print $4}' > legacy.files
yoya@sakura:~/imagemagick$ 

で、以下のスクリプトwget

for file in `cat image_magick.files`
do
  wget http://www.veidrodis.com/mirror/image_magick/$file
done
for file in `cat legacy.files`
do
  wget http://www.veidrodis.com/mirror/image_magick/legacy/$file
done