@chocomelon: なんでImageMagickって左と上にappendできないの?死ぬの?
@t_cyrill: ファイルの引数逆にすればええやん
@chocomelon: めんどいやん。わかりづらいやん。
ってことで左にも上にもappendできるバッチ作った
こんなふうにしたいときに有効だよ!
例1: フランちゃん起点にして左に数珠つなぎ
./append.sh -left flan.png koakuma.png sanae.png append1.png
例2: フランちゃんを起点に上に数珠つなぎ
./append.sh -top flan.png koakuma.png sanae.png append2.png
もちろん右にも下にもつなげるよ!(右と下はデフォルトのappendでできます)
使い方
appended.pngに出力したいを保存したい場合
./apend.sh -(left|right|top|bottom) file1.png file2.png ..... appendedfile.png
スクリプト本体
append.sh
#!/bin/bash
if [ $# -lt 3 ]; then
echo "Usage: append DIRECTION file1 file2 ... dest"
echo "i.e.: append -left 01.png 02.png dest.png"
echo "DIRECTION = [-left|-right|-top|-bottom]"
exit
fi
DIRECTION=$1
shift;
ARGS=("$@")
DEST=${ARGS[((${#ARGS[@]}-1))]}
FILES="${ARGS[@]:0:((${#ARGS[@]}-1))}"
case "$DIRECTION" in
"-left"|"-right") OPTIONS='+append';;
"-top"|"-bottom") OPTIONS='-append';;
esac
case "$DIRECTION" in
"-left"|"-top") FILES=`echo "$FILES" | awk '{for(i=NF;i>0;i--) printf("%s ",$i);}' | xargs`;;
esac
convert $OPTIONS $FILES $DEST
gistも貼っとくよ!
ちなみに…このスクリプトは @chocomelon があーだこーだ言ってたら隣に居た @t_cyrill がいい感じにして(作って)くれました。