Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filterApplies a custom convolution kernel to the image

Увага

Ця функція ЗАСТАРІЛА починаючи з Imagick 3.4.4. Вкрай не рекомендується на неї покладатися.

Опис

public Imagick::filter(ImagickKernel $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): bool

Applies a custom convolution kernel to the image.

Параметри

ImagickKernel

An instance of ImagickKernel that represents either a single kernel or a linked series of kernels.

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();
}

?>

add a note

User Contributed Notes 2 notes

up
0
wangzh at dingl dot me
7 years ago
-----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()!';
}
up
0
wangzh at dingl dot me
7 years ago
-----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
To Top