#contents *ImageMagick(PerlMagick)のインストール [#wb375929] # tar xvfz ImageMagick-5.5.6.tar.gz # cd ImageMagick-5.5.6 # ./configure GIFでLZW圧縮を使用するならば --enable-lzw libperl.a がどうのこうのと怒られる場合は --enable-shared を付けてみる # make # make install # cd PerlMagick # perl Makefile.PL # make # make install RPMで入れている場合にPerlMagickを使用したい場合は別途ImageMagick-perlを入れる # yum install ImageMagick-perl *画像フォーマット変換 [#y2efa27e] convert 変換前ファイル名 変換後ファイル名 $ convert magick_origin.gif magick_png.png *画像サイズ変更 [#d960d6ac] convert -geometry 横幅x縦幅 変換前ファイル名 変換後ファイル名 $ convert -geometry 100x80 magick_origin.gif magick_resize.gif 通常は縦横の比率は維持されるが、強制的に変更したい場合は $ convert -geometry 100x80! magick_origin.gif magick_resize.gif 横幅は指定して、縦は自動で変更したい場合は $ convert -geometry 100x magick_origin.gif magick_resize.gif *画質を落とす [#ub77719d] convert -quality 数値 変換前ファイル名 変換後ファイル名 convert -quality 80 magick_origin.jpg magick_quality.jpg *色数を落とす [#l58ed22e] convert -colors 色数 変換前ファイル名 変換後ファイル名 $ convert -colors 8 magick_origin.gif magick_color.gif *白黒ビットマップに変換する(EZweb旧機種用) [#w90d74f6] convert -geometry 横幅x縦幅 変換前ファイル名 変換後ファイル名 mogrify -type Bilevel 変換前ファイル名 変換後ファイル名 $ convert -geometry 100x80 magick_origin.gif magick_bmp.bmp $ mogrify -type Bilevel magick_bmp.bmp magick_bmp.bmp *画像の一部を切り出す [#q866a73f] mogrify -crop 横幅x縦幅+横開始ピクセル+縦開始ピクセルファイル名 $ mogrify -crop 60x80+30+40 magick_origin.gif *画像の一部をぼかす [#u37244ed] 1回でできそうにないので3回に分けて行ないます~ ぼかす部分を切り出します $ convert -crop 100x100+100+50 org.jpg tmp.jpg 切り出した部分をぼかします $ convert -blur 10x10 tmp.jpg tmp.jpg ぼかした部分を元の画像に合成します $ composite -compose src-over -geometry +100+50 tmp.jpg org.jpg blur.jpg *画像の情報を見る [#c0142ba3] $ identify magick_origin.gif 詳細表示 $ identify -verbose magick_origin.gif *アプリ情報を削除する [#k92aa544] 画像にはアプリ情報が入っているのでこれが原因でファイルサイズが抑えられないことがある~ 特にデジカメのFUJIFILM FinePixシリーズはアプリ情報だけで12kbほど使っているので携帯コンテンツには向かない $ convert -colors 32 -geometry 100x80 +profile APP1 magick_origin.jpg magick_mobile.png テキスト情報を削除する場合は $ convert -colors 32 -geometry 100x80 +profile iptc magick_origin.jpg magick_mobile.png 両方削除する場合は $ convert -colors 32 -geometry 100x80 +profile APP1 +profile iptc magick_origin.jpg magick_mobile.png 一番いいのは -thumbnail オプションを使うことみたい $ convert -colors 32 -thumbnail 100x80 magick_origin.jpg magick_mobile.png *アニメーションGIFを作成する [#d3ec40bf] f*.gifを間隔50/100杪で連結し無限ループのアニメーションGIFを作成する場合 $ convert -loop 0 -delay 50 f1.gif -delay 50 f2.gif fs.gif *特定の色を変更する [#v4940e1f] すでにある画像の色を変更したい場合に便利。~ 黒(#000000)を青(#0000FF)に変更したい場合。 $ convert -fill '#0000FF' -opaque '#000000' a.png b.png 単色でない場合は -fuzz オプションを使用するといいみたい。 $ convert -fuzz 50% -fill '#0000FF' -opaque '#000000' a.png b.png *脆弱性対策 [#l99d3154] 脆弱性を悪用するコンテンツを ImageMagick で開いた場合に、 任意の OS コマンドが実行される恐れがあります。~ [[ImageMagick の脆弱性 (CVE-2016-3714) に関する注意喚起:https://www.jpcert.or.jp/at/2016/at160021.html]]