- 追加された行はこの色です。
- 削除された行はこの色です。
#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
*Exif情報に基づいて回転する [#o813e9b0]
Exif情報のOrientationに基づいて自動的に回転させます。
$ convert -quality 70 -thumbnail 320x240 -auto-orient a.jpg b.jpg
*脆弱性対策 [#l99d3154]
脆弱性を悪用するコンテンツを ImageMagick で開いた場合に、
任意の OS コマンドが実行される恐れがあります。~
[[ImageMagick の脆弱性 (CVE-2016-3714) に関する注意喚起:https://www.jpcert.or.jp/at/2016/at160021.html]]