Example #1
0
 public function render()
 {
     //Example ImagickKernel::addUnityKernel
     $matrix = [[-1, 0, -1], [0, 4, 0], [-1, 0, -1]];
     $kernel = \ImagickKernel::fromMatrix($matrix);
     $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
     $output = "Before adding unity kernel: <br/>";
     $output .= renderKernelTable($kernel->getMatrix());
     $kernel->addUnityKernel(0.5);
     $output .= "After adding unity kernel: <br/>";
     $output .= renderKernelTable($kernel->getMatrix());
     $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
     $output .= "After renormalizing kernel: <br/>";
     $output .= renderKernelTable($kernel->getMatrix());
     return $output;
     //Example end
 }
Example #2
0
 public function render()
 {
     //Example ImagickKernel::separate
     $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 .= Display::renderKernelTable($kernel->getMatrix());
         $count++;
     }
     return $output;
     //Example end
 }
Example #3
0
 function render()
 {
     //Example ImagickKernel::scale
     $output = "";
     $matrix = [[-1, 0, -1], [0, 4, 0], [-1, 0, -1]];
     $kernel = \ImagickKernel::fromMatrix($matrix);
     $kernelClone = clone $kernel;
     $output .= "Start kernel<br/>";
     $output .= renderKernelTable($kernel->getMatrix());
     $output .= "Scaling with NORMALIZE_KERNEL_VALUE. The  <br/>";
     $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
     $output .= renderKernelTable($kernel->getMatrix());
     $kernel = clone $kernelClone;
     $output .= "Scaling by percent<br/>";
     $kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
     $output .= renderKernelTable($kernel->getMatrix());
     $matrix2 = [[-1, -1, 1], [-1, false, 1], [1, 1, 1]];
     $kernel = \ImagickKernel::fromMatrix($matrix2);
     $output .= "Scaling by correlate<br/>";
     $kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
     $output .= renderKernelTable($kernel->getMatrix());
     return $output;
     //Example end
 }
Example #4
0
function createFromMatrix()
{
    $matrix = [[0.5, 0, 0.2], [0, 1, 0], [0.9, 0, false]];
    $kernel = \ImagickKernel::fromMatrix($matrix);
    return $kernel;
}
Example #5
0
 private function renderThicken()
 {
     //Example ImagickKernel::morphology
     $canvas = $this->getCharacterOutline();
     $leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
     $rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
     $leftEdgeKernel->addKernel($rightEdgeKernel);
     $canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, 3, $leftEdgeKernel);
     header("Content-Type: image/png");
     echo $canvas->getImageBlob();
     //Example end
 }
Example #6
0
function filter($imagePath)
{
    $imagick = new \Imagick(realpath($imagePath));
    $matrix = [[-1, 0, -1], [0, 5, 0], [-1, 0, -1]];
    $kernel = \ImagickKernel::fromMatrix($matrix);
    $strength = 0.5;
    $kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
    $kernel->addUnityKernel(1 - $strength);
    $imagick->filter($kernel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}