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