-----Imagick 3.4.3 && ImageMagick 7.0.6
-----why cannot find filter method?????
if (!method_exists(Imagick, 'filter')) {
echo 'undefined filter()!';
} else {
echo 'defined filter()!';
}
(PECL imagick 3 >= 3.3.0)
Imagick::filter — Применяет пользовательское ядро свёртки к изображению
Функция объявлена УСТАРЕВШЕЙ в Imagick 3.4.4. Полагаться на эту функцию крайне не рекомендуется.
$ImagickKernel
, int $channel
= Imagick::CHANNEL_UNDEFINED): boolПрименяет пользовательское ядро свёртки к изображению.
ImagickKernel
Экземпляр ImagickKernel, представляющий либо одно ядро, либо связанную серию ядер.
channel
Передайте любую корректную для вашего режима канала константу.
Для применения к более чем одному каналу, комбинируйте константы каналов
с помощью побитовых операторов. По умолчанию равно Imagick::CHANNEL_DEFAULT
.
Обратитесь к списку констант каналов
В случае успешной работы возвращает true
.
Пример #1 Пример использования Imagick::filter()
<?php
function filter($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$matrix = [
[-1, 0, -1],
[0, 5, 0],
[-1, 0, -1],
];
$kernel = \ImagickKernel::fromMatrix($matrix);
$strength = 0.5;
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
$kernel->addUnityKernel(1 - $strength);
$imagick->filter($kernel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>
-----Imagick 3.4.3 && ImageMagick 7.0.6
-----why cannot find filter method?????
if (!method_exists(Imagick, 'filter')) {
echo 'undefined filter()!';
} else {
echo 'defined filter()!';
}
-----Imagick::filter cannot work!
-----suse linux server , imagick module version 3.4.3
-----run Example #1 Imagick::filter() , there is no result! where is problem?
thank you for your answer!
Alex