La función ImagickKernel::addKernel() es una función incorporada en PHP que se usa para adjuntar otro kernel a este kernel. Usando esta función, podemos adjuntar múltiples arrays al mismo núcleo y usar las que queramos.
Sintaxis:
void ImagickKernel::addKernel( ImagickKernel $ImagickKernel )
Parámetros: esta función acepta un solo parámetro $ImagickKernel que contiene el núcleo.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función ImagickKernel::addKernel() en PHP:
Programa 1:
<?php // Create a new imagick object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); $matrix1 = [ [-1, -1, -1], [4, 4, 4], [1, 1, 1], ]; $matrix2 = [ [-1, 0, 0], [0, 0, 1], [-1, 0, 1], ]; // Create ImagickKernel objects from matrices $kernel1 = ImagickKernel::fromMatrix($matrix1); $kernel2 = ImagickKernel::fromMatrix($matrix2); // Add the kernel $kernel1->addKernel($kernel2); // Apply filter from second attached kernel $imagick->filter($kernel1->separate()[1]); header("Content-Type: image/jpg"); 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'); $matrix1 = [ [-1, -1, -1], [4, 4, 4], [1, 1, 1], ]; $matrix2 = [ [-1, 0, 0], [0, 0, 1], [-1, 0, 1], ]; $matrix3 = [ [-1, 1, 0], [0, 0, 1], [-1, 0, 1], ]; $matrix4 = [ [0, 1, 0], [0, 0, 1], [-1, 0, 1], ]; // Create ImagickKernel objects from matrices $kernel1 = ImagickKernel::fromMatrix($matrix1); $kernel2 = ImagickKernel::fromMatrix($matrix2); $kernel3 = ImagickKernel::fromMatrix($matrix3); $kernel4 = ImagickKernel::fromMatrix($matrix4); // Add the kernels $kernel1->addKernel($kernel2); $kernel1->addKernel($kernel3); $kernel1->addKernel($kernel4); $kernelList = $kernel1->separate(); echo 'Total number of attached kernels are: '; echo count($kernelList); ?>
Producción:
Total number of attached kernels are: 4
Referencia: https://www.php.net/manual/en/imagickkernel.addkernel.php