ImageMagick ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scale — 설명


설명

public ImagickKernel::scale(float $scale, int $normalizeFlag = ?): void

ScaleKernelInfo()는 (주어진 플래그에 따라) 커널 값의 합을 정규화하거나 정규화하지 않고 주어진 양만큼 주어진 커널 목록을 확장합니다. 이 함수의 정확한 동작은 사용되는 정규화 유형에 따라 다릅니다. 자세한 내용은 http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo를 참조하세요. 플래그는 Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT 중 하나이거나 설정되지 않아야 합니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값


Examples

예제 #1 ImagickKernel::scale()

                  
<?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;
    }


    $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;
?>