After $ im->cropImage method, $ im->subImageMatch doesn't work, before using $ im->subImageMatch, use $ im->setImagePage(0, 0, 0, 0);
The sequence is as follows:
$ im->cropImage();
$ im->setImagePage (0, 0, 0, 0);
$ im->subImageMatch()Imagick::subImageMatch
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Imagick::subImageMatch
Референца за `imagick.subimagematch.php` со подобрена типографија и навигација.
Imagick::subImageMatch
(PECL imagick 3 >= 3.3.0)
Imagick::subImageMatch — (PECL imagick 3 >= 3.3.0)
= NULL
$Imagick, array &$offset = ?, float &$similarity = ?): (PECL imagick 2, PECL imagick 3)Пребарува за подслика во тековната слика и враќа слика за сличност
Параметри
Imagick-
offset-
similarity-
Пребарува за подслика во тековната слика и враќа слика за сличност, така што локацијата на точното совпаѓање е целосно бела, а ако ниту еден пиксел не се совпаѓа, црна, инаку некоја сива нијанса помеѓу. Можете исто така да ги поминете опционалните параметри bestMatch и similarity. По повикувањето на функцијата, similarity ќе биде поставена на 'резултатот' од сличноста помеѓу подсликата и позицијата на совпаѓање во поголемата слика, bestMatch ќе содржи асоцијативен список со елементи x, y, width, height што го опишуваат регионот на совпаѓање.
Вратени вредности
Примери
Пример #1 Нова слика што го прикажува степенот на сличност на секој пиксел.
<?php
function subImageMatch($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick2 = clone $imagick;
$imagick2->cropimage(40, 40, 250, 110);
$imagick2->vignetteimage(0, 1, 3, 3);
$similarity = null;
$bestMatch = null;
$comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);
$comparison->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>