ImageMagick、 このソフトの特徴は、Display、Import等の各独立したコマンドで構成されているところにある。コマンドを使っての画像の編集作業である。以下に使用コマンド一群をあげる。ImageMagick-5.7.7-10を使用。
display | 画像の表示加工 | Import | 画像の取り込み、スクリーンショット |
animate | 画像の連続表示・スライドショー | montage | 画像の一覧表示・サムネイル作成 |
convert | 画像のフォーマット変換・Gifアニメ | mogrify | 画像を一括変換 |
identify | 画像情報の表示 | composite | 画像の合成 |
compare | 元画像と変換後の画像を比較 | conjure | Magick Scripting Language(MSL) -開発中- |
ImageMagickは89種以上の画像フォーマットに対応していることをうたっているが、現在インストールされているImageMagickがそれらすべてに対応しているわけでない。自分のImageMagickが現在どのフォーマットおよびプロトコルをサポートしているかは、
$identify -list format自分が望むフォーマットが表示されなければ、さらに対応させるプログラムやライブラリをインストールする必要がある。ImageMagickで利用できるフォーマットおよびそれに必要なプログラム等については、Supported Image Formatsに記載されている。
また画像に文字を埋め込みたい場合もあるが、現在ImageMagickで使用できるフォントを調べるには、
$identify -list type使用フォントは、/usr/lib/ImageMagick-バージョン/type-ghostscript.mgkに記載されている。
各コマンドについての解説を得るには、man コマンドの後に各コマンド名を付けて実行する。
$man display各コマンドの使用法、使えるオプション等を知るには、各コマンドに「help」オプションを付ける。
$display -help
画像を表示させるのは、「display」コマンドを利用する。単にdisplayだと、ImageMagickのGUIツールが起動する。
$display test.jpg
サイズ指定とか色深度も指定できる。モノクロだと、「monochrome」オプションである。displayは現在利用しているパソコンの画面モードを検知して、現在の表示モードが表示させる画像の色数に十分ならばそのまま表示する。表示させる画像の色数が画面の色数よりも少なければ、画面モードに合わせて減色して表示する。
$display -size 320x240 -colors 16 test.jpg
現在のディレクトリにある画像を一覧表示するには、以下のように実行する。起動されたウィンドウ内にすべての画像が画像情報(ファイル名、サイズ、容量)とともに表示される。「*.jpg」とか「*.png」、「*.gif」とすれば、各種フォーマットごとに表示してくれる。
$display 'vid:*'
インターネット上の画像を表示させることもできる。URLがわかっていれば、それを指定する。
$display http://www.xxxx.xx.jp/xxxx/xxx.jpg
スクリーンショットを撮るには、「import」コマンドを使用する。import コマンドを実行すると、マウスカーソルが 「+」マークになり、撮りたい画面をクリックすると開始と終了のビープ音が2回鳴り,画像ファイルが作成される。撮りたい範囲をマウスカーソルでドラグすれば、囲まれた範囲を撮る。
$import test.jpgファイル名を指定しないと、magik.miffが現在のディレクトリに作成される。ImageMagickの独自のフォーマットがmiffである。
特定のウィンドウのスクリーンショットを撮る場合は、「window」オプションにwindowのタイトル名またはウィンドウIDを付ける。なお、windowのタイトル名に「root」を指定すると、全画面のスクリーンショットを撮る。
$import -window kterm test.jpg $import -window 0x2200000d test.jpg
ウィンドウIDとは、X-Windowで開かれているウィンドウに割り当てられているユニークな番号のことである。このウィンドウIDは、xwininfoコマンドを使用して調べることができる。xwininfoを実行すると、マウスポインタが「+」の形に変わる。ウィンドウIDを調べたいウィンドウをクリックすると、そのウィンドウの情報が表示される。その先頭の行に、例えば「xwininfo: Window id: 0x2200000d "kterm"」と記載されている。その中の番号がウィンドウIDである。その次がウィンドウ名になる。
identifyコマンドで画像の情報を得ることができる。「display -verbose」でも可。各種コマンドにverboseオプションを付けると、必ず画像情報を表示する。
$identify test.jpg test.jpg JPEG 400x300+0+0 DirectClass 8-bit 69.2kb 0.020u 0:01「verbose」オプションでさらに詳細な情報を得ることができる。
$identify -verbose test.jpg
TIFF 画像の情報を得る専用コマンド tiffinfo や PNG 画像の情報を得る専用コマンド pnginfo(pngtools) がある。
画像のフォーマットを換えるのは簡単だ。単に拡張子を指定するだけでよい。JPEG 画像を GIF 画像に変換する。convertコマンド実行時は、必ず変換されるファイル名を指定することに注意。
$convert test.jpg test-convert.gifLinuxでは拡張子は必要ないのだが(ヘッダー内容を見てファイルフォーマットを判断している)、こういう時は拡張子も便利といえば便利だ。また、大文字小文字も識別するので、jpg と JPGとは違うファイルになる点も注意。
大量の画像ファイルを一度に変換し、さらに番号を付加して整理するにも非常に便利である。
$convert folder1/* folder2/gazou-%02d.jpgいまfolder1に100枚の画像ファイルがあり、それをfolder2にgazou-00からgazou99のファイル名でJPEGに変換する。「%d」 は十進数を意味し、、「0」から始まり、「2」は表示される値が使用する総桁数を意味する。
convertコマンドでは、PDFファイルから画像ファイルを抽出することができ、逆に画像ファイルをPDFファイルに変換することもできる。
「rotate」オプションを使用することで、画像の回転を行うことができる。
$convert -rotate 90 test.jpg test-rotate.jpg正の引数は画像を時計回りで回転させる。逆回りに回転させるには、負の数を使用する。
画像の上下反転は、「flip」、画像の左右反転は、「flop」である。
$convert -flip test.jpg test-flip.jpg $convert -flop test.jpg test-flop.jpg
カラー画像をモノクロ画像に変換、
$convert -monochrome test.jpg test-mono.jpg
画像のサイズを拡大・縮小するには、「size」オプションまたは「resize」オプションにサイズ幅(横x高さ)を指定する。ピクセルやパーセンテージで指定。
$convert -size 100x100 test.jpg test-size.jpg $convert -resize 60%x60% test.jpg test-resize.jpg
画像に縁どりの枠を付けるには、「border」オプションに枠の幅を指定し、「bordercolor」オプションで色を指定する。色名(例えばblue)および16進数(例えば"#0000FF")等での指定が可。
$convert -border 10x10 -bordercolor blue test.jpg test-border.jpg $convert -border 10x10 -bordercolor "#0000FF" test.jpg test-border.jpg
画像に装飾枠を付けるには、「frame」オプションで装飾枠の幅にベベル(傾斜)の外側幅と内側幅を指定する。「mattecolor」オプションで色を指定する。
$convert -frame 15x15+4+4 -mattecolor blue test.jpg test-frame.jpg
画像の周囲にエッジをつける、つまり隆起させて立体的にするには、「raise」オプションを使用する。
$convert -raise 10x10 test.jpg test-raise.jpg
フォントの指定は、フォント名やフォントのパスを指定する。「draw」オプションで描画する内容を指定する。以下の例では、テキストで書き出し位置が(200,20)から始まり、二重引用符で囲まれた文字列を描く。描画コマンド内に二重引用符が必要となるので、単一引用符が使用される。また、二重引用符内に二重引用符を使用することはできない。
$convert -font /usr/X11R6/lib/X11/fonts/TrueType/kochi-gothic.tty \ -fill blue -pointsize 18 -draw 'text 200,80 "presented by NASA"' \ test.jpg test-text.jpg-- 続く ----------