• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • Imagick::filter()

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

    Description

    说明

    publicImagick::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 = [
            [-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