La función ImagickKernel::fromMatrix() es una función incorporada en PHP que se utiliza para crear un kernel a partir de una array de valores 2D. El valor de la array 2d es flotante si se usa el elemento; de lo contrario, es falso si se omite el elemento.
Sintaxis:
ImagickKernel ImagickKernel::fromMatrix( array $matrix, array $origin )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $matrix: Especifica la array de valores que definen el kernel. Los valores pueden ser flotantes o falsos.
- $origen (opcional): Especifica el elemento del kernel que debe usarse como píxel de origen. Esto solo es necesario en el caso de una array no cuadrada.
Valor de retorno: esta función devuelve un nuevo objeto ImagickKernel en caso de éxito.
Los siguientes programas ilustran la función ImagickKernel::fromMatrix() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); $matrix = [ [-1.5, -1, -0.2], [0, 1, 1], [0, 0.5, 1], ]; // Create a kernel from matrix $kernel = ImagickKernel::fromMatrix($matrix); // Add the filter $imagick->filter($kernel); // Show the output $imagick->setImageFormat('png'); header("Content-Type: image/png"); echo $imagick->getImageBlob(); ?>
Producción:
Programa 2:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); $matrix = [ [1, 2, -3], [4, 5, 6], [7, 8, 9] ]; // Create a kernel from matrix $kernel = ImagickKernel::fromMatrix($matrix); // Get the matrix $matrix = $kernel->getMatrix(); print("<pre>".print_r($matrix, true)."</pre>"); ?>
Producción:
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => -3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) )
Referencia: https://www.php.net/manual/en/imagickkernel.frommatrix.php