PHP | Función ImagickPixel isPixelSimilar()

La función ImagickPixel::isPixelSimilar() es una función incorporada en PHP que se usa para verificar la distancia entre el color descrito por este objeto ImagickPixel y el del objeto provisto, trazando sus valores RGB en el cubo de color. Si la distancia entre los dos puntos es menor que el valor de fuzz dado, los colores son similares.

Sintaxis:

bool ImagickPixel::isPixelSimilar( ImagickPixel $color, float $fuzz )

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

  • $color: Especifica el píxel que contiene el color a comparar.
  • $fuzz: Especifica el valor de fuzz que indica la distancia máxima dentro de la cual considerar estos colores como similares.

Valor devuelto: esta función devuelve un valor booleano que indica si los colores son similares (verdadero) o no (falso).

Excepciones: esta función lanza ImagickException en caso de error.

Los siguientes programas ilustran la función ImagickPixel::isPixelSimilar() en PHP:
Programa 1:

<?php
// Create a new imagickPixel object
$imagickPixelwhite = new ImagickPixel('white');
  
// Create another new imagickPixel object
$imagickPixelblue = new ImagickPixel('blue');
  
// Check if similar or not
$isSimilar = $imagickPixelwhite->isPixelSimilar($imagickPixelblue, 0.1);
  
if($isSimilar) {
    echo 'Similar';
} else {
    echo 'Not Similar';
}
?>

Producción:

Not Similar

Programa 2:

<?php
// Create two new imagickPixel objects with same color
$imagickPixel1 = new ImagickPixel('green');
$imagickPixel2 = new ImagickPixel('green');
  
// Check if similar
$isSimilar = $imagickPixel1->isPixelSimilar($imagickPixel2, 0.01);
  
if($isSimilar) {
    echo 'Similar';
} else {
    echo 'Not Similar';
}
?>

Producción:

Similar

Programa 3:

<?php
// Create a new imagick object
$imagick = new Imagick(
    'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
  
// Get the image histogram
$histogramElements = $imagick->getImageHistogram();
  
// Get the 501th pixel
$imagickPixel1 = $histogramElements[500];
  
// Get the 601th pixel
$imagickPixel2 = $histogramElements[600];
  
// Check if similar
$isSimilar = $imagickPixel1->isPixelSimilar($imagickPixel2, 0.01);
  
if ($isSimilar) {
    echo 'Similar';
} else {
    echo 'Not Similar';
}
?>

Producción:

Not Similar

Referencia: https://www.php.net/manual/en/imagickpixel.ispixelsimilar.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 *