Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filterDescription

Warning

此函数在 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

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channel constants using bitwise operators. 缺省为Imagick::CHANNEL_DEFAULT. 参考此 通道常数列表

返回值

成功时返回 true

范例

Example #1 Imagick::filter()

<?php
function filter($imagePath) {
    
$imagick = new \Imagick(realpath($imagePath));
    
$matrix = [
        [-
10, -1],
        [
0,  5,  0],
        [-
10, -1],
    ];
    
    
$kernel = \ImagickKernel::fromMatrix($matrix);
    
$strength 0.5;    
    
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);    
    
$kernel->addUnityKernel($strength);

    
$imagick->filter($kernel);
    
header("Content-Type: image/jpg");
    echo 
$imagick->getImageBlob();
}

?>

User Contributed Notes

wangzh at dingl dot me 02-Aug-2017 11:50
-----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()!';
}
wangzh at dingl dot me 02-Aug-2017 10:21
-----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