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 или не установлен.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Примеры

Пример #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($cell3);
                }
                
$output .= "</td>";
            }
            
$output .= "</tr>";
        }
    
        
$output .= "</table>";
    
        return 
$output;
    }


    
$output "";
    
    
$matrix = [
        [-
10, -1],
        [ 
04,  0],
        [-
10, -1],
    ];

    
$kernel = \ImagickKernel::fromMatrix($matrix);
    
$kernelClone = clone $kernel;

    
$output .= "Старт ядра<br/>";
    
$output .= renderKernelTable($kernel->getMatrix());
    
    
    
$output .= "Масштабирование с NORMALIZE_KERNEL_VALUE. The  <br/>";
    
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
    
$output .= renderKernelTable($kernel->getMatrix());


    
$kernel = clone $kernelClone;
    
$output .= "Масштабирование в процентах<br/>";
    
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
    
$output .= renderKernelTable($kernel->getMatrix());
    
    
$matrix2 = [
        [-
1, -11],
        [ -
1false,  1],
        [
111],
    ];
    
    
$kernel = \ImagickKernel::fromMatrix($matrix2);
    
$output .= "Масштабирование по корреляции<br/>";
    
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
    
$output .= renderKernelTable($kernel->getMatrix());

    return 
$output
?>