ImageMagick画像加工実例集

たぶん、これである程度やれるかと。

100×100に収まるよう縦横比を保ちつつ縮小し、はみ出た部分を画像の中心を基準にし、カットする

元画像が横長の場合

convert -thumbnail x100\> -gravity center -crop 100x100+0+0 input.jpg output.jpg

元画像が縦長の場合

convert -thumbnail 100x\> -gravity center -crop 100x100+0+0 input.jpg output.jpg

-gravity で基準点を決めて -crop でカット。

200×150に収まるよう縦横比を保ちつつ縮小し、その上に画像の右下を基準にして、コピーライト画像*1を重ねる

convert -thumbnail 200x150\> input.jpg copyright.png -gravity southeast -geometry +10+10 -composite output.jpg

-gravity で基準点を決めて -geometry で基準点から位置をずらして -composite で重ねる。

150×500に収まるよう縦横比を保ちつつ縮小し、docomo, KDDIで再配布禁止用のコメントを書く*2

convert -thumbnail 150x500\> -quality 75 input.jpg - | convert -comment 'kddi_copyright=on,copy="NO"' - output.jpg

EXIF情報を削除してからコメントを追加しようと思って最初は convert 一つでやってたんですが

上手く行かないので、パイプで繋いで2回処理してます。

-quality は画質。 -comment でコメントの追加。

ちなみに

最後の output.jpg を – にして、PHPなんかの場合は、passthru()使えば、画像をファイルとして保持せずに出力が可能です。

header("Content-Type: image/jpeg");

とかは必要ですが。

*1:copyrightは透過pngでもOKです

*2:普段使っているものをちょっと改良してます。もしかしたら動かないかも。

コメントは受け付けていません。