php - 未捕获的异常 'ImagickException',消息为 'Compare images failed'

标签 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

最佳答案

对于遇到同样问题的 future 用户,我让它起作用了。如果您尝试比较具有不同尺寸的两个图像,则会出现此错误。为了解决这个问题,我所做的就是重新调整两个图像的大小,使它们具有相同的尺寸。在我的例子中看起来像这样:

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

关于php - 未捕获的异常 'ImagickException',消息为 'Compare images failed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35278611/

相关文章:

php - 在php中按字节数获取文件的一部分

imagemagick 蒙太奇 - 如何将图像底部对齐

php - 在 Symfony2 上创建多色选择框

php - 查找 SQL 子字符串

imagemagick - 使用 imagemagick 将带有前导空格的文本转换为图像

php - Imagick::resizeImage 与 Imagick::scaleImage

php - php 上的 3d Canvas 框架

imagemagick - MAMP 中的 Imagick 问题

php - 在 PHP/Zend 框架中获取 Google Analytics 的 cid

node.js - AWS Elastic Beanstalk - 用户权限问题