lupka / phpunit-compare-images
用于比较图像相似性的PHPUnit断言。
1.0.0
2016-11-01 07:37 UTC
Requires (Dev)
- ext-imagick: *
- phpunit/phpunit: >=5.2
This package is auto-updated.
Last update: 2024-08-25 19:30:50 UTC
README
用于评估图像相似性的PHPUnit断言。
重要:根据您的设置,比较不同尺寸的图像可能会遇到问题。我无法确定具体问题是什么,但在本地的OSX上,比较不同尺寸的图像运行良好,但如果我在Travis CI中使用不同尺寸的图像,测试就会失败。
安装
composer require lupka/phpunit-compare-images
使用方法
将CompareImagesTrait
特性添加到您的测试类中,以启用断言的使用。
<?php use Lupka\PHPUnitCompareImages\CompareImagesTrait; class YourTestCase extends PHPUnit_Framework_TestCase { use CompareImagesTrait; ... }
断言
此包包含多个断言。
每个断言的前两个参数是要比较的图像,可以是Imagick对象或字符串文件路径。
assertImageSimilarity
assertImageSimilarity($image1, $image2, $threshold = 0)
如果两个图像不在给定的相似度阈值内,将失败。
assertImageDifference
assertImageDifference($image1, $image2, $threshold = 0)
如果两个图像在给定的相似度阈值内,将失败。
assertImagesSame
assertImagesSame($image1, $image2)
如果两个图像不是完全相同的,将失败。
assertImagesDifferent
assertImagesDifferent($image1, $image2)
如果两个图像完全相同,将失败。
$threshold代表什么?
在assertImageSimilarity和assertImageDifference函数中的$threshold值直接与PHP的Imagick类的compareImages函数的结果进行比较。以下是不同比较所需的阈值的一些示例。
阈值:0
图像完全相同。
阈值:0.234
不同的图像。
阈值:0.033
相同图像的略微裁剪版本。
阈值:1
黑色与白色
备注/链接
- PHP.net Imagick Compare文档:https://php.ac.cn/manual/en/imagick.compareimages.php