Quantcast
Channel: bogamp’s blog
Viewing all articles
Browse latest Browse all 34

Imagemagick② その他コマンドの書き方

$
0
0

bogamp.hatenablog.com
上の記事の続き。基本的にBasic Usage -- ImageMagick ExamplesFile Handling -- ImageMagick ExamplesImageMagick – Command-line Processingに書いてある内容を咀嚼しただけ。


convertのオプション(引数)の順番

まず、Imagemagickは実行時に仮想的な画像リストを持っていると考える。
すると、指定できるオプション(引数)は大まかに三種類に分類できる。
  • 画像リストに画像を追加する
  • 画像に何らかの処理を行って変更する
  • 設定を変更する

これらとは別に、最後に指定した引数が出力先になる。

画像を追加するオプション

一番簡単なのはファイル名をそのまま指定する(example.jpg)ことだが、他にも追加する方法がいくつかある。
たとえば、xc:[色]もしくはcanvas:で単色の画像を追加できる(事前に-sizeでサイズを指定する必要あり)。logo:だとビルトインのロゴ画像が追加され、plasma:[色]だとプラズマ風の画像が追加される。

画像に何らかの処理を行うオプション

これはメインの機能で、1.一つの画像に処理を行うものと、2.複数の画像から一枚の画像を作るものに分けられる。

一つの画像に処理を行うもの

前回記事で紹介したものの多くがこれで、-resize-cropなどがある。
画像リストが複数ある場合、すべての画像に同じ処理が行われる

複数の画像から一枚の画像を作るもの

-appendなどがある。

設定を変更するオプション

-gravity-fill-sizeなど、上二つに当てはまらないものは基本これにあたる。

注意点としては、

  • 左から右へ順番に実行される
  • 設定は一度変更したら(処理を行っても)リセットされない

この2点に気をつける。

具体例

convert -size 200x200 canvas:red canvas:blue +append result.jpg

(設定したサイズは両方に適用される)

convert canvas:red -size 200x200 canvas:blue +append result.jpg

(canvas:redはsizeを設定していないため1ピクセルだけになっている(見えない))

convert -size 200x200 canvas:red -size 50x200 canvas:blue +append result.jpg

(途中で設定変更もできる)

入れ子コマンド

SQLのサブクエリのように、処理を行った画像を画像リストに加え、更に処理を加えることもできる。
()で囲むだけなのだが、注意点として、
  • シェルに解釈されないようにエスケープする(これはWindowsでは不要)
  • 丸カッコと他のコマンドの間には必ずスペースを入れる
  • 設定の変更は、カッコを無視して左から右へ順番に適用される

この3点には気をつける必要がある。

convert -size 200x10 \(-size 100x100 canvas:violet  canvas:aqua +append\)\( canvas:gold canvas:salmon +append\)-append result.jpg


-sizeによる設定の変更は、丸カッコと関係なく左から右へ順番に適用されるので、canvas:で生成される画像はすべて100x100サイズになる。

画像の特殊な追加方法

ファイル名以外で、Imagemagickの処理中に画像を追加できる方法についてまとめておく。
  • 組み込みの画像 logo:rose:granite:wizard:など
  • パターン pattern:[パターン]のように指定する。パターンのリスト
  • canvas:(xc:)、fractal:gradient:plasma:radial_gradient:これらは色を指定できる。
  • 標準入力 -
  • URL
  • @[テキストファイル] テキストファイル内に書いてある画像ファイルを順番に追加する。

画像の特殊な出力方法

特殊な出力先の指定方法についてもまとめておく。
  • フォーマットの明示 png:(出力先)やjpg:(出力先)のように書くと出力フォーマットを明示的に指定できる。標準出力など、拡張子でフォーマット指定できない場合に使える
  • 標準出力 -
  • show:画像を保存せず、ディスプレイに表示する

Viewing all articles
Browse latest Browse all 34

Trending Articles