ConFoo 2025

ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scaleDescription

Descripción

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

ScaleKernelInfo() escala la lista de núcleos («kernels») dada por la cantidad proporcionada, con o sin normalización de la suma de los valores de los núcleos (según las banderas dadas). El comportamiento exacto de esta función depende del tipo de normalización empleada. Para más detalles, véase http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo. La banderas debería se Imagick::NORMALIZE_KERNEL_VALUE, Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT o no estar establecida.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Ejemplos

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top