例えばGIFをJPEGに変換する、このように異なる画像形式に変換する処理をImageMagickを利用すると、信じられないくらい簡単に行える。
サンプル
;# ;#画像形式を変換する ;# use Image::Magick; #-- オブジェクト作成 --# my $image = Image::Magick->new; #-- 画像を読込む(GIF) --# $image->Read('./image.gif'); #-- 画像を保存する(JPEG) --# $image->Write('./image.jpg');
画像を読み込む時にも自動で形式を判定してくれるが、画像を保存する時には指定した「ファイル名の拡張子」を見て自動的に認識し、'*.jpeg'ならJPEG形式として保存してくれる。え?と思われるだろうがウソのような本当の話だ。実際に実行して試してみられたい。
ちなみに、Writeメソッドはファイルに保存するだけではなく標準出力(ディスプレイ, CGIならブラウザ)に向けて出力することも出来る。その場合は
$image->Write('jpeg:-');
といった感じで「Write('ファイル形式:-')
」と記述すれば良い。