Imagick::filter

(No version information available, might only be in Git)

Imagick::filterDescription

说明

public void Imagick::filter ( ImagickKernel $ImagickKernel [, int $CHANNEL = Imagick::CHANNEL_DEFAULT ] )

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. 参考此 通道常数列表

返回值

范例

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 03-Aug-2017 08: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 03-Aug-2017 07: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