La función ImagickKernel::separate() es una función incorporada en PHP que se usa para separar un conjunto vinculado de kernels y devuelve una array de ImagickKernels. Esta función se utiliza para contar los núcleos de un objeto o ver los núcleos de un objeto.
Sintaxis:
array ImagickKernel::separate( void )
Parámetros: Esta función no acepta ningún parámetro.
Valor de retorno: esta función devuelve un valor de array que contiene los ImagickKernels.
Los siguientes programas ilustran la función ImagickKernel::separate() en PHP:
Programa 1: este programa cuenta todos los núcleos en un ImagickKernel.
<?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
Programa 2 (Obtener todo ImagickKernel en un objeto):
<?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); $kernelList = $kernel1->separate(); echo 'All the kernels are: '; print("<pre>".print_r($kernelList, true)."</pre>"); ?>
Producción:
All the kernels are: Array ( [0] => ImagickKernel Object ( [0] => Array ( [0] => Array ( [0] => -1 [1] => -1 [2] => -1 ) [1] => Array ( [0] => 4 [1] => 4 [2] => 4 ) [2] => Array ( [0] => 1 [1] => 1 [2] => 1 ) ) ) [1] => ImagickKernel Object ( [0] => Array ( [0] => Array ( [0] => -1 [1] => 0 [2] => 0 ) [1] => Array ( [0] => 0 [1] => 0 [2] => 1 ) [2] => Array ( [0] => -1 [1] => 0 [2] => 1 ) ) ) )
Referencia: https://www.php.net/manual/en/imagickkernel.separate.php