ジークスの酒井です。今日はちょっとしたツールの紹介記事になります。
imagemagickでプログラマも画像をいじってみよう
プログラマがデザイナーから画像をもらった後、ちょくちょく変更の必要がある場合があります。
ios/androidなど端末ごとに各解像度用を用意したり
透過を削除したり、透過部分の背景色を変更したかったり
そんな場合に編集ソフトを使わなくてもimagemagickでなんとかなる事が多かったので
自分用メモとしてまとめました。
基礎知識
imagemagickをインストールすると、コマンドラインで動作する各種コマンドが追加されます。
- convert
1つのファイルを操作するコマンド - mogrify
複数ファイルを操作するコマンド。コマンドラインオプションはほとんどconvertと共通です。 - identify
ファイルの情報を取得するコマンド
一括リサイズ
最近で一番多用したのはこの使い方です。
mogrify -resize 300x300 *.png
こうするだけで、同じフォルダの全部のpngファイルを300x300の四角に収まるようにリサイズします。
例えば1000x100の横長の画像は300x30に、100x1000の縦長の画像は30x300になります。
画像の透過された背景を差し替える
これはどういう使い方をするかというと、透過部分がある画像をもらった場合に
透過の背景に一定の灰色を配置して、透過部分を見える化したい時とかに使いました。
convert 下.png 上.png -compose over -composite 保存名.png
下.pngの上に、上.pngを重ねて、保存名.pngとして保存します。
画像の情報を取得
identify sample.png
sample.png PNG 1182x1749 1182x1749+0+0 8-bit sRGB 503.91KiB 0.000u 0:00.000
こんな情報が返ってくるので、パースして、幅、高さや色のbit数などを取得できます。
画像のフォーマット変更
画像のフォーマット変更も簡単です。コマンドで出来るとバッチなどに組み込みやすいですね。
convert src.jpg dest.png
src.jpgをdest.pngに変換します。拡張子で判断して結構自動でやってくれます。
画像のコメントを削除
画像をテキストエディタで無理くり見てみると、先頭のほうに結構文字列でコメントが入っています。
主に使われた画像ソフトなどの情報が書かれています。
サイズもちょっとだけ大きくなるので、削除しておくといいでしょう。
convert src.jpg -strip dest.jpg
src.jpgの中のコメントを削除してdest.jpgとして保存します。
サーバに入れるツールとしては、古いとか言われてあまり歓迎されていない感がありますが
手元で使うコマンドラインツールとしてはまだまだ使えると思っています。
ちょっとした画像修正はプログラマでもやってみてはどうでしょうか?