Imagick::filter
(PECL imagick 3 >= 3.3.0)
Imagick::filter — Applies a custom convolution kernel to the image
警告
 此函数在 Imagick 3.4.4 中被 废弃,强烈建议不要应用此函数。
说明
   public Imagick::filter(ImagickKernel 
  $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): boolApplies 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。
  
示例
示例 #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();
}
?>
  +添加备注
  
用户贡献的备注 2 notes
  
  
  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()!';
}  
  
  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