未捕获的异常'ImagickException',消息'比较图像失败'

时间:2016-02-08 20:23:38

标签: php imagemagick imagick

这是我第一次使用ImageMagick,而我正在进行一项小测试,看看它是否真的适用于我想要的工作;但是,我收到错误'比较图像失败'。我很可能做错了,因为我真的不知道Imagick究竟是如何工作的。我对其他建议持开放态度,我只是想比较两个图像,只需要很少的改动。 我的测试代码如下:

<?php
$image1 = new Imagick();
$image2 = new Imagick();
$image1->readImage("export/image1.jpg");
$image2->readImage("export/image2.jpg");
$result = $image1->compareImages($image2, 1);
$result[0]->setimageFormat("jpg");
echo $result[1] . '\n';
?>

错误如下所示:

root@review1:/var/www/html# php export/image.php
PHP Fatal error:  Uncaught exception 'ImagickException' with message 'Compare images failed' in /var/www/html/export/image.php:6
Stack trace:
#0 /var/www/html/export/image.php(6): Imagick->compareimages(Object(Imagick), 1)
#1 {main}
  thrown in /var/www/html/export/image.php on line 6

1 个答案:

答案 0 :(得分:4)

对于遇到相同问题的未来用户,我得到了它的工作。如果您尝试比较具有不同尺寸的两个图像,则会出现此错误。我所做的就是重新调整两个图像的大小,使两个图像具有相同的尺寸。在我的情况下看起来像这样:

$image1->resizeImage(400,400,Imagick::FILTER_LANCZOS, 1);
$image2->resizeImage(400,400,Imagick::FILTER_LANCZOS, 1);