(PECL imagick >= 3.3.0)
Description
public array ImagickKernel::separate ( void )
Separates a linked set of kernels and returns an array of ImagickKernels.
Returns:
Examples:
ImagickKernel::separate()
<?php function renderKernelTable($matrix) { $output = "<table class='infoTable'>"; foreach ($matrix as $row) { $output .= "<tr>"; foreach ($row as $cell) { $output .= "<td style='text-align:left'>"; if ($cell === false) { $output .= "false"; } else { $output .= round($cell, 3); } $output .= "</td>"; } $output .= "</tr>"; } $output .= "</table>"; return $output; } $matrix = [ [-1, 0, -1], [ 0, 4, 0], [-1, 0, -1], ]; $kernel = \ImagickKernel::fromMatrix($matrix); $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE); $diamondKernel = \ImagickKernel::fromBuiltIn( \Imagick::KERNEL_DIAMOND, "2" ); $kernel->addKernel($diamondKernel); $kernelList = $kernel->separate(); $output = ''; $count = 0; foreach ($kernelList as $kernel) { $output .= "<br/>Kernel $count<br/>"; $output .= renderKernelTable($kernel->getMatrix()); $count++; } return $output; ?>
Please login to continue.