这是我第一次使用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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。