基本構文

convert composite identify オプション コマンド

イメージマジック

使用するコマンドにより、いくつかの基本構文のパターンがあります。

構文A  コマンド    (オプション)    <画像名>

例) convert -size 100×100 xc:#cc0000 red.jpg

▼実行結果
red.jpg生成結果

最も短い構文になります。
ImageMagickを使って、新たに画像を生成する際などに使用する構文です。
コマンド・オプション・画像名の間は、それぞれ半角スペースを空けて記入します。
これはこの構文に限らず、ImageMagick全てに共通する記入方法になります。

(オプション)は、どのような画像を生成するかを指定するコマンドで、ImageMagickのキモといえる部分です。
上記構文ですと、-size 100×100 xc:#cc0000 が(オプション)に当たります。
オプションについては別章で詳しく記述いたしますので、ここでは流していただいて結構です。
なお以下のように、使用するコマンドによりオプションの記述の必要がない場合には省略されます。

例2) identify before.jpg

▼実行結果
identify実行結果

上記の例2は、identifyを使って画像の詳細情報を取得しています。



構文B  コマンド    <変換前の画像ファイル>    (オプション)    <変換後の画像名>

例) convert before.jpg -resize 100×100 after.jpg

▼実行結果
identify実行結果

最も基本的な構文です。
convertで画像のフォーマットを変換する際などが、このパターンにあてはまります。
<変換前の画像ファイル>を、オプションで指定したフォーマットを適用して、<変換後の画像名>で吐き出すイメージです。
<変換前の画像ファイル>の名前と、<変換後の画像名>を同じにすると<変換前の画像ファイル>は上書きされます。

実は、ImageMagickは結構柔軟(というか、仕様があいまいというか・・笑)なツールで、(オプション)をコマンドのすぐ後に記入しても大丈夫だったりするのですが、オプションを通して画像を変換するというイメージを持っていただきたいので、ここではこの構文で統一して書いていきたいと思います。
また、以下のように単純に画像のフォーマットを変換する場合、ImageMagickは画像の拡張子を勝手に判別して変換してくれるので、(オプション)の入力は必要ありません。

convert before.png after.jpg

フォーマットを変換する際に、画像のクオリティ(画質)などを指定したい場合は、以下のように都度(オプション)で指定する形になります。

convert before.gif -quality 100 after.jpg



構文C  コマンド    (オプション)    <変換前の画像1>    <変換前の画像2>    (オプション)    <変換後の画像>

例) composite -compose over before1.jpg before2.jpg after.jpg

▼実行結果
composite実行結果

composite等、複数の画像を組み合わせて1枚の画像を生成する際の構文です。
<変換前の画像2>背景となる画像、<変換前の画像1>上に重ねる画像となり、2つの画像を合成して<変換後の画像>が生成されます。

最後までお読みいただきありがとうございます。お役に立てましたなら嬉しいです。