convert - ImageMagickで画像を変換する

スポンサーリンク

GUIの環境で画像を変換や加工する場合、柔軟に画像を変換や加工を行うことができますが、手間がかかります。

ImageMagickはCUI、つまり、コマンドで画像を変換や加工を行う環境を提供します。この記事では、convertコマンドで簡単な画像の変換や加工を行います。

スポンサーリンク

ImageMagickとは

ImageMagickとは、Apache2.0ライセンスで提供されるフリーソフトです。コマンドラインで画像を変換または加工を行うことができます。convertコマンドは、このImageMagickのコマンドになります。

 

 

 

インストール方法

Windowsでのインストール

ImageMagickのダウンロードページ(https://www.imagemagick.org/script/download.php)よりインストーラをダウンロードして、インストールすることができます。Windowsのインストーラはページの下のほうにあり、「Windows Binary Release」という見出しの下にインストーラをダウンロードできるリンクがあります。

基本的には、2017/06/28現時点では「ImageMagick-7.0.6-0-Q16-x64-dll.exe」をインストールすれば大丈夫だと思います。32bit版OSの場合、「x64」の部分が「x86」のものをインストールしてください。

 

「ImageMagick-7.0.6-0-Q16-x64-dll.exe」のインストール画面

 

ImageMagickのバージョンが7になってから、convertコマンドがmagickコマンドに変更されました。ImageMagick-7.0.6のバージョンだとmagickコマンドは、機能的にconvertコマンドほとんど同様なことができるそうですが、私が使用した感じだとコマンドライン引数の順番がconvertコマンドより厳しかったり、オプションのhelpがあまり充実していないと思いました。

なので、ImageMagickの従来のconvertコマンドが使用したい場合は、windowsのデフォルトのconvertコマンドが使えなくなりますが、「Install legacy utilities」にチェックを入れるとImageMagickの従来のconvertコマンドなどがインストールされます。

 

 

 

Linuxでのインストール

ubuntuの場合は以下のコマンドでインストールすることができます。

 

また、最新のソースコードからインストールしたい場合は

公式サイトからImageMagick.tar.gzをダウンロードし、

で展開し、展開したImageMagickのディレクトリに移動して、

でインストールすることも可能です。

 

 

 

convertコマンドで画像変換

コマンドプロンプトまたはシェルでコマンドを使用することが可能です。

convertコマンドは

で画像を変換することができます。

例えば、pngファイルからjpgファイルに変更する場合は

のように変更することができます。

 

また、オプションをつけて、

または、

で何かの画像処理を加えることができます。

 

convertコマンドの代わりにmagickコマンドを使う場合は、

のようにしなければ、(7.0.6のバージョンでは)エラーが起きてしまうことに注意が必要です。

また、helpオプションに関しても、convertコマンドより充実していないことに注意が必要です。

 

 

 

大量の画像をWeb用に変換

convertコマンドとforコマンドなどのループを用いることで、大量の画像ファイルを変換することが可能です。例えば、windowsのbatファイルに、

のように記述し、実行すれば、その実行したディレクトリのすべてのpng画像ファイルをjpgファイルに変換し、さらに自動的に縦横比を維持したままで、横幅450pxで、画像のプロフィールやコメントなどの情報を消すことができます。

また、Linuxのシェルスクリプトの場合だと

で同じようなことが行えます。ここで、${変数名/pattern/string}は、bashのパラメータ展開の方法のひとつで「変数名」の「pattern」に最初にマッチした部分を「string」に置き換えます。

 

 

 

参考

ImageMagickのホームページ(https://www.imagemagick.org)