PHP | función imagecolorclosest()

La función imagecolorclosest() es una función incorporada en PHP que se usa para obtener el índice del color más cercano en la imagen dada. Esta función devuelve el índice del color en la paleta de la imagen que está más cerca del valor RGB especificado.

Sintaxis:

int imagecolorclosest( $image, $red, $green, $blue )

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

  • $imagen: lo devuelve una de las funciones de creación de imágenes, como imagecreatetruecolor(). Se utiliza para crear el tamaño de la imagen.
  • $red: este parámetro se utiliza para establecer el valor del componente de color rojo.
  • $verde: este parámetro se utiliza para establecer el valor del componente de color verde.
  • $azul: este parámetro se utiliza para establecer el valor del componente de color azul.

Valor de Retorno: Esta función devuelve el índice del color más cercano, en la paleta de la imagen.

Los siguientes programas ilustran la función imagecolorclosest() en PHP.

Programa 1:

<?php
  
// Start with an image and convert it to a palette-based image
$image = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/geeks-21.png');
  
imagetruecolortopalette($image, false, 255);
  
//  Search closest color
$result = imagecolorclosest($image, 7, 150, 10);
  
$result = imagecolorsforindex($image, $result);
  
$result = "({$result['red']}, {$result['green']}, {$result['blue']})";
  
echo "Closest color: " . $result;
  
imagedestroy($image);
  
?>

Producción:

Closest color: (4, 146, 12)

Programa 2:

<?php
  
// Start with an image and convert it to a palette-based image
$image = imagecreatefrompng(
'https://media.geeksforgeeks.org/wp-content/uploads/geeks-21.png');
  
imagetruecolortopalette($image, false, 255);
  
// Search RGB colors
$color = array(
    array(7, 150, 0),
    array(53, 190, 255),
    array(255, 165, 54)
);
  
// Loop to find the closest color to the given RGB color
foreach($color as $id => $rgb)
{
    $result = imagecolorclosest($image, $rgb[0], $rgb[1], $rgb[2]);
    $result = imagecolorsforindex($image, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']})";
  
    echo "Given color: ($rgb[0], $rgb[1], $rgb[2]) => Closest match: $result<br>";
}
  
imagedestroy($image);
  
?>

Producción:

Given color: (7, 150, 0) => Closest match: (4, 142, 4)
Given color: (53, 190, 255) => Closest match: (148, 174, 180)
Given color: (255, 165, 54) => Closest match: (148, 162, 164)

Valor devuelto:

Referencia: http://php.net/manual/en/function.imagecolorclosest.php

Publicación traducida automáticamente

Artículo escrito por Mahadev99 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 *