綾小路龍之介の素人思考

[imagemagick] 基本的な思想

対象は IMv6。オプションの付け方とかの基本的な思想を理解するとよくわかってないけど、後ろにつけたり前につけたりしているオプションの意味がわかると思って。

imagemagick に含まれるコマンドの基本的なシンタックスは以下。オプションには二種類あって、setting オプションと operation オプションがある。とは言っても、同じ名前のオプションが

command { [-setting]... "image"|-operation }... "output_image"
オプションの区別
-appendImage Sequence Operator
-crop geometry{@}{!}Image Operator, Image Sequence Operator
-fill colorImage Setting
-geometry geometryImage Setting
-gravity typeImage Setting
-fuzz distance{%}Image Setting
-background colorImage Setting
-alpha typeImage Setting
-size width[xheight][+offset]Image Setting
-density widthImage Setting
-resize geometryImage Operator
-stripImage Operator
-trimImage Operator
-opaque colorImage 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

リファレンス

  1. Basic Usage -- IM v6 Examples
  2. ImageMagick: Command-line Processing
  3. ImageMagick: Formats

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2008-09-09T16:02:09+09:00
  2. Modified: 2008-09-09T16:02:09+09:00
  3. Generated: 2017-04-04T23:09:34+09:00