PHP | Función Imagick filter()

La función Imagick::filter() es una función incorporada en PHP que se usa para aplicar un núcleo de convolución personalizado a la imagen. Un núcleo, array de convolución o máscara es una array pequeña. Se utiliza para desenfoque, nitidez, relieve, detección de bordes y muchos más.

Sintaxis:

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

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:

  • $ImagickKernel: Es un kernel o una serie enlazada de múltiples kernels que se usan para aplicar en la imagen.
  • $channel: Es una constante que se usa en base a los modos. Es de tipo entero y el valor por defecto del canal es Imagick::CHANNEL_DEFAULT.

Valor devuelto: Devuelve verdadero cuando el filtro a la imagen se aplica con éxito.

El siguiente programa ilustra la función Imagick::filter() en PHP:

Programa:

<?php
  
// 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();
?>

Producción:

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

Publicación traducida automáticamente

Artículo escrito por piyush25pv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *