画像の種類を判定する - Perl,ImageMagick

GIFなのかJPEGかなど、画像がどのような保存形式か判定したい。基本的に拡張子はあてにならない場合があるため、実際にファイルの内容を解析した方がよい(しなければならない)状況などに役立つ。

サンプル

;#
;#画像の種類を判定する
;#

use Image::Magick;

#-- ImageMagick --#
my $image = Image::Magick->new;

#-- 画像を読込む --#
$image->Read('image');

#-- 種類を取得 --#
my $type = $image->Get('magick');

画像を読み込んだ後、ImageMagickが自動的にファイル形式を判定してくれる。拡張子はあっても無くてもどちらでも良い。

Getメソッドが返す文字列は 'GIF', 'JPEG', 'PNG', 'PSD', 'BMP' と言った文字列になる。大抵のWeb上で使用する画像形式には対応しているが、インストール方法によっては利用できない形式がある点に注意されたい。