HomeImagickImagickDrawImagickPixelImagick Pixel IteratorImagick KernelDevelopmentTutorial Source codeReport an issue
Category
Example

scale

← getMatrix   separate →
ScaleKernelInfo() scales the given kernel list by the given amount, with or without normalization of the sum of the kernel values (as per given flags). The exact behaviour of this function depends on the normalization type being used please see http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for details. Flag should be one of Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT or not set.
Scales a kernel. NORMALIZE_KERNEL_VALUE NORMALIZE_KERNEL_PERCENT NORMALIZE_KERNEL_CORRELATE Please read http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo

Start kernel

-10-1
040
-10-1

Scaling with NORMALIZE_KERNEL_VALUE.

-0.50-0.5
020
-0.50-0.5

Scaling by percent

-20-2
080
-20-2

Scaling by correlate

-0.333-0.3331
-0.333false1
111

Example

$output = "";
$matrix = [
    [-1, 0, -1],
    [0, 4, 0],
    [-1, 0, -1],
];
$kernel = \ImagickKernel::fromMatrix($matrix);
$kernelClone = clone $kernel;
$output .= "<h4>Start kernel</h4>";
$output .= Display::renderKernelTable($kernel->getMatrix());
$output .= "<h4>Scaling with NORMALIZE_KERNEL_VALUE.</h4>";
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
$output .= Display::renderKernelTable($kernel->getMatrix());
$kernel = clone $kernelClone;
$output .= "<h4>Scaling by percent</h4>";
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
$output .= Display::renderKernelTable($kernel->getMatrix());
$matrix2 = [
    [-1, -1, 1],
    [-1, false, 1],
    [1, 1, 1],
];
$kernel = \ImagickKernel::fromMatrix($matrix2);
$output .= "<h4>Scaling by correlate</h4>";
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
$output .= Display::renderKernelTable($kernel->getMatrix());
return $output;