お題
透かし画像をレイヤーする
sipsは組み込み済みなのですぐに使えますが、透かしのレイヤーはできません
いろいろ調べた結果、ImageMagickを導入するのが良いと分かりました
インストール
ImageMagick公式サイト
ダウンロードページ
インストーラパッケージ版なので、アプリをインストールする手順でokです
我輩の環境はOSX10.9ですが、Yosemite版でも特に問題は起こっていません。
例:デスクトップのprocessというフォルダ内にあるJPEG画像と、αチャンネルを持った透かし画像「mark.png」をレイヤーします
#!/bin/bash cd /Users/psychic-wave.com/Desktop/process for file in *.jpg do convert ${file} mark.png -gravity center -composite ${file} done
前回同様、2行目は各自の環境やフォルダ名で異なります
また5行目の「mark.png」の部分もファイル名や置き場所を変えても構いません
「mark.png」の代わりにファイルをドラッグ&ドロップすれば良い訳です
また縦横のサイズを取得できるので、縦画像/横画像を判定して貼付けるとか、透かしを選択する分岐もできますね
#!/bin/bash cd /Users/psychic-wave.com/Desktop/process for file in *.jpg do width=`identify -format "%w" ${file}` height=`identify -format "%h" ${file}` if [ ${width} -gt ${height} ] then convert ${file} mark1.png -gravity center -composite ${file} else convert ${file} mark2.png -gravity center -composite ${file} fi done
5行目で横辺長の取得
6行目で縦辺長の取得
7行目が判定文で、横長なら9行目/縦長なら11行目にジャンプします
つまり「mark1.png」は横長用/「mark2.png」は縦長用の透かしファイルです
圧縮率を指定したい場合は「-quality」オプションを追加します
9/11行目後半に
(前略)-composite -quality 90 ${file}
という具合に追加で良いです
圧縮率はツールに依ってレートが異なるようで、概ね
sips=75%
Image Magick=90%
GIMP=90%
でほぼ同程度のサイズとクォリティになるようです
photoshopのJPEGはサイズの割に綺麗ではないので使いたくありません
ここまでは作業フォルダを固定していましたが、任意のフォルダを指定したい時は2行目の代わりに
echo -n 'input folder > "return" key ' read PASSNAME cd ${PASSNAME}
の3行を記述します ”(クォーテーション)の中は見てくれだけなので適当に
起動すると
これ、どちらが良いかは一概には言えませんね
作業フォルダを固定すればコマンドファイルクリックだけで全自動ですが、ファイルの移動の手間があります
フォルダ入力は毎回起動時にフォルダをインプットしなければなりません
ま、お好みで
というわけで、これで当初の目的は達成されました!o(*^▽^*)o
あとは作業フローに合わせてカスタマイズして行けば良い訳であります
シェルスクリプトで画像処理(4)bpg圧縮編につづく
DLのたびに通知が出てすごく邪魔だったんで助かりました。