PHP 8.4.1 Released!

ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scaleDimensionne une liste de noyaux par la quantité donnée

Description

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

Dimensionne la liste de noyaux donnée par la quantité donnée, avec ou sans normalisation de la somme des valeurs du noyau (selon les indicateurs donnés). Le comportement exact de cette fonction dépend du type de normalisation utilisé veuillez consulter http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo pour plus de détails.

Liste de paramètres

scale

normalizeFlag

  • Imagick::NORMALIZE_KERNEL_NONE
  • Imagick::NORMALIZE_KERNEL_VALUE
  • Imagick::NORMALIZE_KERNEL_CORRELATE
  • Imagick::NORMALIZE_KERNEL_PERCENT

Valeurs de retour

Exemples

Exemple #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