Open In App

PHP | Imagick filter() Function

Last Updated : 25 Jul, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The Imagick::filter() function is an inbuilt function in PHP which is used to apply custom convolution kernel to the image. A kernel, convolution matrix, or mask is a small matrix. It is used for blur, sharpen, embossing, edge detection, and many more.

Syntax:

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

Parameters: This function accepts two parameters as mentioned above and described below:

  • $ImagickKernel: It is a kernel or a linked series of multiple kernels that are used to be apply on the image.
  • $channel: It is a constant that is used on basis of the modes. It is of integer type and the default value of channel is Imagick::CHANNEL_DEFAULT.

Return Value: It returns true when the filter to the image is successfully applied.

Below program illustrates the Imagick::filter() function in PHP:

Program:




<?php
  
// Declare an imagick object
$imagick = new Imagick(
  
// Declare convolution matrix
$matrix = [
    [-1, 0, -1],
    [0,  5,  0],
    [-1, 0, -1],
];
       
$kernel = \ImagickKernel::fromMatrix($matrix);
  
$strength = 0.5;
  
// Scaling the image on kernel
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
  
// Use addUnityKernel() function
$kernel->addUnityKernel(1 - $strength);
   
// Use filter() function 
$imagick->filter($kernel);
  
header("Content-Type: image/jpg");
  
// Display the output image
echo $imagick->getImageBlob();
?>


Output:

Reference: https://www.php.net/manual/en/imagick.filter.php


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads