ImageMagickのconvert・mogrifyコマンドで画像のサイズを変換する

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 162 follow us in feedly

まえがき

今回はImageMagickおよび、convertコマンドを使って画像サイズをコマンドラインから変換シてみようと思う。

iPhoneやAndroidアプリの開発の時に使う画像では同じ画像のサイズ違いのものを複数用意する必要があったりでそういったときに役立ちそう。某Adobeソフトなんかを使うよりもコストも掛からず、さくっとターミナルで完結するのが最大の利点でしょう。

開発環境

  • OS MacOSX 10.9.1
  • ImageMagick 6.8.7-7

画像の情報を取得する

サイズの変更だったり、圧縮の前にまず画像の情報(縦横のサイズだったり、ファイルサイズ)を知れると便利である。そんなときには『identify』コマンドを使えば簡単に知ることができる

> identify hoge.png
hoge.png PNG 320x320 320x320+0+0 8-bit sRGB 24.5KB 0.000u 0:00.000

画像サイズを変換する

では、本題の画像サイズ変換に関するメモ。

ImageMagickでの画像サイズ変換は『convert』コマンドを使うことで可能。

convert -resize [サイズ情報] hoge.png new_hoge.png

てな感じで指定したサイズに画像を変換できるわけだが、サイズの指定の仕方がいつくつかあるのでよく使いそうなものをメモ。

# 50%のサイズに変換
50%

# 縦横維持して横160に変換
160

# 縦横を非維持して横320の縦160に変換
320x160!

特に3つめに『320×160!』が癖があって『!』を付けないと縦幅をしていても縦横の比率を維持して出力するので思い通りのサイズにならないので注意!

では実際にやってみる。検証用に使うのは縦横320pxのhone.pngという画像ファイル

# 変換元のファイル情報 320*320のファイルである
> identify hoge.png
hoge.png PNG 320x320 320x320+0+0 8-bit sRGB 24.5KB 0.000u 0:00.009

# %指定、幅指定、幅縦指定で変換
> convert -resize 50% hoge.png hoge_50.png 
> convert -resize 160 hoge.png hoge_160*160.png                                
> convert -resize 320x160! hoge.png hoge_320*160.png                      

# 変換後のファイル情報
> identify hoge_50.png hoge_160\*160.png hoge_320\*160.png           
hoge_50.png PNG 160x160 160x160+0+0 8-bit sRGB 12.5KB 0.000u 0:00.000
hoge_160*160.png[1] PNG 160x160 160x160+0+0 8-bit sRGB 12.5KB 0.000u 0:00.000
hoge_320*160.png[2] PNG 320x160 320x160+0+0 8-bit sRGB 19.1KB 0.000u 0:00.000

よしできた。

mogrifyコマンドで上書き保存

『convert』コマンドでは新しくファイルを作成しているが、『mogrily』のコマンドを使えば指定したファイルを上書きすることができる。

複数のファイルを変換するときなどはmogrifyのほうが使いやすそうだ

# 320x320のhoge.pngのサイズを半分にする
> identify hoge.png
hoge.png PNG 320x320 320x320+0+0 8-bit sRGB 24.5KB 0.000u 0:00.000

> mogrify -resize 50% hoge.png
> identify hoge.png
hoge.png PNG 160x160 160x160+0+0 8-bit sRGB 12.5KB 0.000u 0:00.000

おすすめ書籍

Imagemagick
Imagemagick
posted with amazlet at 14.02.17
Book on Demand Ltd.

関連記事

dstat-1dstat-1.png

dstatコマンドでLinuxのリソースを確認する

まえがき LinuxでCPU・メモリ・ネットワークの通信料などを簡単に...

記事を読む

no image

wgetコマンドでファイル名指定したり、ファイルを保存しないようにしたりする

まえがき wgetコマンド。便利ですよねー。 オプションも結構あって覚...

記事を読む

keitarou_keitarou__Users_keitarou_—_zsh_—_178×70.pngkeitarou_keitarou__Users_keitarou_—_zsh_—_178×70.png

【Linuxコマンドメモ】ディレクトリの容量をソートして表示する

まえがき ちょっとDropBoxのフォルダがいっぱいになってしまってい...

記事を読む

htop-1htop-1.png

MacでもLinuxでもtopコマンドからhtopコマンドにしてハッピー

まえがき LinuxやMacで使えるプロセス監視ようのコマンド『top...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

  • Sorry. No data so far.

PAGE TOP ↑