PHP | Función ImagickKernel scale()

La función ImagickKernel::scale() es una función incorporada en PHP que se usa para escalar la lista de kernel dada por la cantidad dada.

Sintaxis:

void ImagickKernel::scale( float $scale, int $normalizeFlag )

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:

  • $escala: Especifica la cantidad de escala.
  • $normalizeFlag: Especifica el tipo de escala.

Valor devuelto: esta función no devuelve ningún valor.

Los siguientes programas ilustran la función ImagickKernel::scale() en PHP:

Programa 1:

<?php
  
// Create a new imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
$matrix = [
    [0, 0, 1],
    [0, 2, 1],
    [1, 1, 1],
];
  
// Create a kernel from built-in matrix
$kernel = ImagickKernel::fromMatrix($matrix);
  
echo 'Before scaling:<br>';
print("<pre>".print_r($kernel->getMatrix(), true)."</pre>");
  
// Scale the kernel
$kernel->scale(5, Imagick::NORMALIZE_KERNEL_VALUE);
  
echo 'After scaling:<br>';
print("<pre>".print_r($kernel->getMatrix(), true)."</pre>");
?>

Producción:

Before scaling:
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
        )

    [1] => Array
        (
            [0] => 0
            [1] => 2
            [2] => 1
        )

    [2] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
        )

)
After scaling:
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 0.71428571428571
        )

    [1] => Array
        (
            [0] => 0
            [1] => 1.4285714285714
            [2] => 0.71428571428571
        )

    [2] => Array
        (
            [0] => 0.71428571428571
            [1] => 0.71428571428571
            [2] => 0.71428571428571
        )

)

Programa 2:

<?php
  
// Create a new imagick object
$imagick = new Imagick(
'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
$matrix = [
    [1, 2, -3],
    [4, 5, 6],
    [7, 8, 9]
];
  
// Create a kernel from matrix
$kernel = ImagickKernel::fromMatrix($matrix);
  
// Scale the kernel
$kernel->scale(4, Imagick::NORMALIZE_KERNEL_VALUE);
  
// Add the filter
$imagick->filter($kernel);
  
// Show the output
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>

Producción:

Referencia: https://www.php.net/manual/en/imagickkernel.scale.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *