2011-09-26 82 views
4

我试图让命令行等价于“identify image.png”在Perl中工作。你如何在Perl中使用ImageMagick?

你如何去做这件事?

谢谢。

更新: 我有以下代码

 use Image::Magick;  
    $image = Image::Magick->new; 
    open(IMAGE, 'image.gif'); 
    $image->Identify(file => \*IMAGE); 
    close(IMAGE); 

但得到以下错误:

Can't locate Image/Magick.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .)

回答

5

没有为PerlMagick的Identify方法方法this documentation说。

它的参数是:file=>file, features=>distance, unique=>{True, False}

所以它可以像这样被使用(测试):

use Image::Magick; 

$image = Image::Magick->new; 
open(IMAGE, 'image.gif'); 
$image->Read(file => \*IMAGE); 
close(IMAGE); 
$image->Identify(); 

如果您只需要尺寸:

use Image::Magick; 

$image = Image::Magick->new; 
my ($width, $height, $size, $format) = $image->Ping('image.gif'); 
+0

我只是得到能'image :: Magick“(可能你忘了加载”Image :: Magick“?)在image.pl第4行找到对象方法”new“。 – gbhall

+0

做过哟你加载模块? '使用Image :: Magick;' –

+0

是刚刚更新我的帖子,以反映这一点,但然后我得到上面显示在我编辑后的错误 – gbhall