| Server IP : 162.214.74.102 / Your IP : 216.73.216.192 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/cpanel/ea-php71/root/usr/share/tests/pecl/imagick/tests/ |
Upload File : |
--TEST--
Test ImagickPixel::isPixelSimilar
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc');
--FILE--
<?php
$root3 = 1.732050807568877;
$tests = array(
array ('rgb(245, 0, 0)', 'rgb(255, 0, 0)', 9 / $root3, false,),
array ('rgb(245, 0, 0)', 'rgb(255, 0, 0)', 10 / $root3, true,),
array ('rgb(0, 0, 0)', 'rgb(7, 7, 0)', 9 / $root3, false,),
array ('rgb(0, 0, 0)', 'rgb(7, 7, 0)', 10 / $root3, true,),
array ('rgba(0, 0, 0, 1)', 'rgba(7, 7, 0, 1)', 9 / $root3, false,),
array ('rgba(0, 0, 0, 1)', 'rgba(7, 7, 0, 1)', 10 / $root3, true,),
array ('rgb(128, 128, 128)', 'rgb(128, 128, 120)', 7 / $root3, false,),
array ('rgb(128, 128, 128)', 'rgb(128, 128, 120)', 8 / $root3, true,),
array ('rgb(0, 0, 0)', 'rgb(255, 255, 255)', 254.9, false,),
array ('rgb(0, 0, 0)', 'rgb(255, 255, 255)', 255, true,),
array ('rgb(255, 0, 0)', 'rgb(0, 255, 255)', 254.9, false,),
array ('rgb(255, 0, 0)', 'rgb(0, 255, 255)', 255, true,),
array ('black', 'rgba(0, 0, 0)', 0.0, true),
array ('black', 'rgba(10, 0, 0, 1.0)', 10.0 / $root3, true),
);
try {
foreach ($tests as $testInfo) {
$color1 = $testInfo[0];
$color2 = $testInfo[1];
$distance = $testInfo[2];
$expectation = $testInfo[3];
$testDistance = ($distance / 255.0);
$color1Pixel = new ImagickPixel($color1);
$color2Pixel = new ImagickPixel($color2);
$isSimilar = $color1Pixel->isPixelSimilarQuantum($color2Pixel, $testDistance * \Imagick::getquantum());
if ($isSimilar !== $expectation) {
echo "isSimilar failed. Color [$color1] compared to color [$color2] distance $testDistance doesn't meet expected result [$expectation].". PHP_EOL;
}
$isPixelSimilar = $color1Pixel->isPixelSimilar($color2Pixel, $testDistance);
if ($isPixelSimilar !== $expectation) {
echo "isPixelSimilar failed. Color [$color1] compared to color [$color2] distance $testDistance doesn't meet expected result [$expectation].". PHP_EOL;
}
}
echo "success";
} catch (\Exception $e) {
echo "Exception caught in ImagickPixel::isPixelSimilar test: ".$e->getMessage() . PHP_EOL;
}
?>
--EXPECT--
success