编程语言
首页 > 编程语言> > php-未捕获的异常“ ImagickException”,消息为“比较图像失败”

php-未捕获的异常“ ImagickException”,消息为“比较图像失败”

作者:互联网

这是我第一次使用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

解决方法:

对于遇到相同问题的未来用户,我可以使用它.如果尝试比较两个尺寸不同的图像,则会出现此错误.我要做的所有工作就是重新调整两个图像的大小,以便它们都具有相同的尺寸.在我看来,是这样的:

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

标签:imagick,imagemagick,php
来源: https://codeday.me/bug/20191027/1943955.html