Php/docs/imagickkernel.addunitykernel

提供:Dev Guides
< Php
2020年12月14日 (月) 11:58時点におけるNotes (トーク | 投稿記録)による版 (autoload)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernelDescription


説明

public ImagickKernel::addUnityKernel ( float $scale ) : void

Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.


パラメータ

この関数にはパラメータはありません。


返り値

例1 ImagickKernel::addUnityKernel()

<?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(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());    echo $output;?>

例2 ImagickKernel::addUnityKernel()

<?phpfunction addUnityKernel($imagePath) {    $matrix = [        [-1, 0, -1],        [ 0, 4,  0],        [-1, 0, -1],    ];    $kernel = ImagickKernel::fromMatrix($matrix);    $kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);    $kernel->addUnityKernel(0.5);    $imagick = new \Imagick(realpath($imagePath));    $imagick->filter($kernel);    header("Content-Type: image/jpg");    echo $imagick->getImageBlob();}?>