ImageMagick (convert) で -geometry オプションを用いて画像サイズを縮小する方法を紹介しました。
convert を使用しつつ、複数枚の画像ファイルを一括変換出来る様にシェルスクリプトを書いてみます。
- 変換前のファイル名は DSC_ で始まる。
- 投稿用に用いる変換後のファイル名を YYYYMMDDNN.jpg の様な日付 + 2 桁の連番と一律化する。
#!/bin/sh # # conv.sh # if [ $# != 1 ]; then exit fi file=$1 for i in `ls DSC*` do file=`expr $file + 1` line="convert -geometry 50% $i $file.jpg" echo $line `$line` done
使用する場合は
./conv.sh 2012113000
とすると、2012113001.jpg, 2012113002.jpg … と変換後のファイルが生成されます。
ARROWS X F-10D -> PC に用意した画像ファイル DSC_* を、Drive Network の収容サーバ (お客様の機器) にアップロードし、変換したファイルをダウンロードしますが、私のメイン環境は FreeBSD ですのでダウンロード・アップロード専用のシェルスクリプトも書いてみました。
#!/bin/sh # # ftp_img.sh # case $1 in get) ftp -i -n hs.example.jp << EOL user rose cd data/ mget 20*.jpg by EOL ;; put) ftp -i -n hs.example.jp << EOL user rose cd data/ mput DSC_*.jpg by EOL ;; *) exit 64 ;; esac
使用する場合は
./ftp_img.sh put
./ftp_img.sh get
引数 put で、所定の場所にアップロードします。所定の場所には前述の conv.sh を用意しておき実行後、引数 get で生成されたファイルをダウンロードします。