imagemagick に含まれるコマンドの基本的なシンタックスは以下。オプションには二種類あって、setting オプションと operation オプションがある。とは言っても、同じ名前のオプションが
command { [-setting]... "image"|-operation }... "output_image"
-append | Image Sequence Operator |
-crop geometry{@}{!} | Image Operator, Image Sequence Operator |
-fill color | Image Setting |
-geometry geometry | Image Setting |
-gravity type | Image Setting |
-fuzz distance{%} | Image Setting |
-background color | Image Setting |
-alpha type | Image Setting |
-size width[xheight][+offset] | Image Setting |
-density width | Image Setting |
-resize geometry | Image Operator |
-strip | Image Operator |
-trim | Image Operator |
-opaque color | Image Operator |
-rotate degrees{<}{>} | Image Operator |
xc: | Pseudo-image Formats |
"Image Setting" オプションは対象の画像ファイル名の前につける。効果はそれ以降の処理すべてに適用
"Image Operator" オプションは対象の画像ファイル名の後につける
Image Stack を使う例
hoge_04.png を 50% に縮小して fill 色を green にして 50% の距離にある色を同じとみなすように設定し余白を削除して "#FFFFFF" を fill 色にする、hoge_02.jpg を 50% に縮小して背景色を red にして -30 度回転する、hoge_03.jpg を (0,544) から 3264x1904 サイズの画像を切り取りそれを 25% に縮小、"Selecting Frames" で hoge_05.pdf の 2 ページ目を選択して pdf の背景色の上に文書を載せてラスタ変換して背景色を white にして余白を削除して 50% に縮小、#888888 の 800x600 の画像を出力、最後に背景を blue にしてそれぞれを左から右への順に連結。という処理を行う例。
$ convert -verbose -gravity Center \ \( -geometry 50% -fill green -fuzz 50% hoge_04.png -trim -opaque "#FFFFFF" \) \ \( -geometry 50% -background red hoge_02.jpg -rotate -30 \) \ \( hoge_03.jpg -crop 3264x1904+0+544 -resize 25% \) \ \( -alpha remove -background white -density 144 hoge_05.pdf[1] -trim -resize 50% \) \ \( -size 800x600 xc:#888888 \) \ -background blue +append hoge_.jpg hoge_04.png PNG 640x480 640x480+0+0 8-bit PseudoClass 99c 4.65KB 0.030u 0:00.029 hoge_02.jpg JPEG 1632x1224 1632x1224+0+0 8-bit DirectClass 500KB 0.310u 0:00.330 hoge_03.jpg JPEG 3264x2448 3264x2448+0+0 8-bit DirectClass 1.6MB 1.190u 0:01.309 "gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r144x144" -dFirstPage=2 -dLastPage=2 "-sOutputFile=/tmp/magick-1MRhpGgv-%08d" "-f/tmp/magick-EduqNzgE" "-f/tmp/magick-hlrLLDgN" /tmp/magick-1MRhpGgv-00000001 PNG 1191x1684 1191x1684+0+0 8-bit DirectClass 250KB 0.290u 0:00.300 hoge_05.pdf[1]=>hoge_05.pdf[1] PDF 1191x1684 1191x1684+0+0 16-bit DirectClass 0.000u 0:00.000 xc:#888888=>#888888 XC 800x600 800x600+0+0 16-bit DirectClass 0.020u 0:00.019 hoge_04.png=>hoge_.jpg PNG 640x480=>1014x3045 1040x3136+13+65 8-bit DirectClass 463KB 0.900u 0:00.919