Ejemplo n.º 1
1
 private function renderDistanceEuclidian()
 {
     $canvas = new \Imagick();
     $canvas->newPseudoImage(500, 300, "canvas:none");
     $canvas->setImageFormat('png');
     $shadow = clone $canvas;
     $text = clone $canvas;
     $this->drawText($text);
     $this->drawText($shadow, true);
     if (false) {
         $highlight = $this->getSilhouette($text);
         $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_EUCLIDEAN, "1");
         $highlight->morphology(\Imagick::MORPHOLOGY_DISTANCE, 1, $kernel);
         $highlight->autoLevelImage();
         $highlight->evaluateimage(\Imagick::EVALUATE_MULTIPLY, 0.6);
         $highlight->evaluateimage(\Imagick::EVALUATE_ADD, 0.2 * \Imagick::getQuantum());
         $highlight->levelImage(0.2, 1.4, 0.6);
         $text->compositeimage($highlight, \Imagick::COMPOSITE_MODULATE, 0, 0);
     }
     if (true) {
         $edge = $this->getSilhouette($text);
         $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "2");
         $edge->morphology(\Imagick::MORPHOLOGY_EDGE_IN, 1, $kernel);
         $edge->compositeImage($text, \Imagick::COMPOSITE_ATOP, 0, 0);
     }
     $canvas->compositeImage($shadow, \Imagick::COMPOSITE_COPY, 0, 0);
     $canvas->compositeImage($text, \Imagick::COMPOSITE_ATOP, 0, 0);
     header("Content-Type: image/png");
     echo $canvas->getImageBlob();
 }
Ejemplo n.º 2
0
 public function renderCustomImage()
 {
     $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_RING, "2,3.5");
     $imagick = renderKernel($kernel);
     header("Content-Type: image/png");
     echo $imagick->getImageBlob();
 }
Ejemplo n.º 3
0
function renderFontEffect()
{
    $canvas = new \Imagick();
    $canvas->newPseudoImage(500, 300, "canvas:none");
    $canvas->setImageFormat('png');
    $shadow = clone $canvas;
    $text = clone $canvas;
    drawText($text);
    drawText($shadow, true);
    $edge = getSilhouette($text);
    $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "2");
    $edge->morphology(\Imagick::MORPHOLOGY_EDGE_IN, 1, $kernel);
    $edge->compositeImage($text, \Imagick::COMPOSITE_ATOP, 0, 0);
    $canvas->compositeImage($shadow, \Imagick::COMPOSITE_COPY, 0, 0);
    $canvas->compositeImage($text, \Imagick::COMPOSITE_ATOP, 0, 0);
    header("Content-Type: image/png");
    echo $canvas->getImageBlob();
}
Ejemplo n.º 4
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
 }
Ejemplo n.º 5
0
 private function renderDistanceIterative()
 {
     //Example ImagickKernel::morphology
     $canvas = $this->getCharacterOutline();
     $kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "2");
     $canvas->morphology(\Imagick::MORPHOLOGY_ITERATIVE, 3, $kernel);
     $canvas->autoLevelImage();
     header("Content-Type: image/png");
     echo $canvas->getImageBlob();
     //Example end
 }