imagemagick のちょっとした使い方を Sagasoon.
私の場合、写真を加工する際は、Adobe製品を使ったりフリーのgimpを使ったりします。
普段のブログや写真編集なんかは、gimpでしょうか。
フライヤー的なものを作る時は、 Adobe製品に頼る感じです。
ただ、毎回同じことをするような加工であれば、出来るだけ機械的にやりたいですよね。
例えば、ご自身のコピーライトを入れたりするとか。写真に日付を入れるとか。はたまた、透かしを入れるとか。
そんな機械的な処理をしたい時、私は imagemagick というツールを使います。
imagemagickをインストールする
私が使っているサーバには、imagemagick が入っているので、それを使ってます。
もし、パソコンに入れたい場合は、こちらからexeファイルをダウンロードしてください。
インストールは、ダウンロードしたファイルをダブルクリックして「Next」を連打していけばOKですよ。最後は[Done」で。
インストール後は再起動してあげてください。
機械的に写真を加工する
今回はこんな加工を機械的にすることを考えます。
- 自分の著作文字を写真に入れる
- 自分のロゴを写真に入れる
順番にやってみますね。
機械的に写真に文字を入れる
たとえば、文字を入れたい場合、
convert photo.jpg -pointsize 32 -fill white -annotate +10+10 "Hello" output.jpg
ってしますと
photo.jpg の写真の上に「Hello」という文字を白文字で描き、結果をoutput.jpg というファイルに書き出す
っていう感じです。
他のオプションの値を説明すると
- +10+10 とあるのは、x座標10、y座標10に文字を描いてね
- -pointsize 32 とあるのは、文字サイズ32で描いてね
って感じです。
透かしを入れる
自分の著作を入れたりする際、自分のロゴを入れたりしたい時ありますよね。
透かしにして入れたり。
今回は、logo.png を自分の写真 photo.jpg に入れるとして進めます。
直球。簡単です。
convert -composite photo.jpg logo.png output.jpg
こうすると、
logo.png を自分の写真 photo.jpg に入れ、output.jpg に結果を書き出してくれます
文字を入れて、透かしも入れる
今、2つの処理をみてきましたが、これらを機械的に一気にやりたい場合はどうするか?ですね。
- 文字を入れて
- 透かしを入れる
って感じです。
余裕ですよー。
convert photo.jpg -pointsize 32 -fill white -annotate +10+10 "Hello" pre_output.jpg convert -composite pre_output.jpg logo.png output.jpg
1回目の文字出力した写真pre_output.jpg をもとにして、その上に 透かしのロゴ logo.png を重ねればいいだけですね。
参考
bash等、慣れている方は、こんな感じですかね。
tool.sh
#!/bin/sh convert $1 -pointsize 32 -fill white -annotate +10+10 "Hello" pre_$2 convert -composite pre_$2 logo.png $2
実行は、こんな感じで。
tool.sh photo.jpg output.jpg
コメント