# 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
convert 変換前ファイル名 変換後ファイル名
$ convert magick_origin.gif magick_png.png
convert -geometry 横幅x縦幅 変換前ファイル名 変換後ファイル名
$ convert -geometry 100x80 magick_origin.gif magick_resize.gif
通常は縦横の比率は維持されるが、強制的に変更したい場合は
$ convert -geometry 100x80! magick_origin.gif magick_resize.gif
convert -quality 数値 変換前ファイル名 変換後ファイル名
convert -quality 80 magick_origin.jpg magick_quality.jpg
convert -colors 色数 変換前ファイル名 変換後ファイル名
$ convert -colors 8 magick_origin.gif magick_color.gif
convert -geometry 横幅x縦幅 変換前ファイル名 変換後ファイル名 mogrify -type Bilevel 変換前ファイル名 変換後ファイル名
$ convert -geometry 100x80 magick_origin.gif magick_bmp.bmp $ mogrify -type Bilevel magick_bmp.bmp magick_bmp.bmp
mogrify -crop 横幅x縦幅+横開始ピクセル+縦開始ピクセルファイル名
$ mogrify -crop 60x80+30+40 magick_origin.gif
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
$ identify magick_origin.gif
詳細表示
$ identify -verbose magick_origin.gif
画像にはアプリ情報が入っているのでこれが原因でファイルサイズが抑えられないことがある
特にデジカメの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
f*.gifを間隔50/100杪で連結し無限ループのアニメーションGIFを作成する場合
$ convert -loop 0 -delay 50 f1.gif -delay 50 f2.gif fs.gif
すでにある画像の色を変更したい場合に便利。
黒(#000000)を青(#0000FF)に変更したい場合。
$ convert -fill '#0000FF' -opaque '#000000' a.png b.png
単色でない場合は -fuzz オプションを使用するといいみたい。
$ convert -fuzz 50% -fill '#0000FF' -opaque '#000000' a.png b.png