Image ::使用perl的Magick模块

时间:2016-03-07 09:48:09

标签: perl

my $im = Image::Magick->new();
for my $image (@$imagedata) {
    $im->Read ($image);
}
my $tile = "1x";
my $output = $im->Montage (tile => $tile, geometry=>'135x50');
$output->Write("sprite_logos.png");

我已经写了上面的代码,我得到了错误"找不到对象方法"写"通过包"例外410:在logo_sprit.pl第65行没有定义图像Image::Magick'" (perhaps you forgot to load "Exception 410: no images defined Image :: Magick'"?)。"

调试后检查问题。我发现这个模块有类型图像有问题(41726.jpg?0.641405799749506&,85872.jpg)

有人可以在这个问题上帮助我。

1 个答案:

答案 0 :(得分:3)

似乎Montage成功返回Image::Magick对象,否则返回包含异常的字符串。使用

检查成功
my $output = $im->Montage (tile => $tile, geometry=>'135x50');
die $output unless ref $output;

$output->Write($filename);

同样,您应该检查Read方法的输出 - 成功时它应该为空。否则,它包含异常文本。