ImageMagick(PerlMagick)のインストール †# 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 -geometry 100x 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 白黒ビットマップに変換する(EZweb旧機種用) †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 アプリ情報を削除する †画像にはアプリ情報が入っているのでこれが原因でファイルサイズが抑えられないことがある $ 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を作成する †f*.gifを間隔50/100杪で連結し無限ループのアニメーションGIFを作成する場合 $ convert -loop 0 -delay 50 f1.gif -delay 50 f2.gif fs.gif 特定の色を変更する †すでにある画像の色を変更したい場合に便利。 $ convert -fill '#0000FF' -opaque '#000000' a.png b.png 単色でない場合は -fuzz オプションを使用するといいみたい。 $ convert -fuzz 50% -fill '#0000FF' -opaque '#000000' a.png b.png Exif情報に基づいて回転する †Exif情報のOrientationに基づいて自動的に回転させます。 $ convert -quality 70 -thumbnail 320x240 -auto-orient a.jpg b.jpg 脆弱性対策 †脆弱性を悪用するコンテンツを ImageMagick で開いた場合に、
任意の OS コマンドが実行される恐れがあります。 |