チップス
シェルスクリプトで一気に一枚の画像から複数の画像サイズの画像を作る
縦 300px X 横300px の test1.png という画像ファイルがあった時、シェルスクリプトを使えばコマンド一発で複数のサムネール画像を作る事ができます。
#!/bin/sh
atai=100
num=10
while [ $atai -gt 30 ]
do
atai=`expr $atai - 30`
num=`expr $num + 1`
/usr/bin/convert -geometry $atai test1.png test$atai-$num.jpg
done
test70-11.jpg | test40-12.jpg | test10-13.jpg |
googleで検索していたら「本当は速いImageMagick: サムネイル画像生成を10倍速くする方法Add Star」という記事があったので、画像の縮小をする ImageMagick の convertコマンドの引数を「-define jpeg:size=」にしてみました。
#!/bin/sh
srcxy=300
atai=50
num=20
while [ $srcxy -gt 50 ]
do
srcxy=`expr $srcxy - $atai`
num=`expr $num + 1`
/usr/bin/convert -define jpeg:size=${srcxy}x${srcxy} -resize ${srcxy}x${srcxy} test1.jpg test$srcxy-$num.jpg
done
test250-21.jpg |
test100-24.jpg |
test200-22.jpg |
test150-23.jpg |
シェルスクリプト
ふだん C や PHP などでプログラミングしていると、シェルスクリプトの文法にとまどうかもしれません。
わたしはシェルスクリプトとはなどを参考にさせていただいています。同じ事を何回も繰り返しているなら、「この処理はスクリプトでできないかな?」と考えてみると楽ができるようになるかもしれません。