Imagick::filter()函數是PHP中的内置函數,用于将自定義卷積核心應用于圖像。核,卷積矩陣或掩碼是小矩陣。它用于模糊,銳化,壓紋,邊檢測等。
用法:
bool Imagick::filter( $ImagickKernel, $channel = Imagick::CHANNEL_UNDEFINED )
參數:該函數接受上述和以下描述的兩個參數:
$ImagickKernel:它是一個核心或一個由多個核心組成的連結系列,通常用于映像。
$channel:它是根據模式使用的常數。它是整數類型,并且通道的預設值為Imagick::CHANNEL_DEFAULT。
傳回值:當成功将濾鏡應用于圖像時,它将傳回true。
以下示例程式旨在說明PHP中的Imagick::filter()函數:
程式:
// Declare an imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-9.png');
// 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();
?>
輸出:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SNxcTOmZDM1YWOzETZyATNlZzYxQzY4E2MiljNzUjM18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)