(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorclosestalpha — Obtener el índice del color más próximo al color + alpha especificado
Devuelve el índice del color en la paleta de la imagen que
está "más próximo" al valor RGB especificado y al
nivel alpha
especificado.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
red
Valor del componente rojo.
green
Valor del componente verde.
blue
Valor del componente azul.
alpha
Un valor entre 0
y 127
.
0
indica completamente opaco mientras que
127
indica completamente transparente.
Devuelve el índice del color más próximo en la paleta.
Ejemplo #1 Buscar un conjunto de colores en una imagen
<?php
// Comenzar con una imagen y convertirla a una imagen basada en paleta de colores
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Buscar colores (RGB)
$colores = array(
array(254, 145, 154, 50),
array(153, 145, 188, 127),
array(153, 90, 145, 0),
array(255, 137, 92, 84)
);
// Itera cada búsqueda y encuentra el color más próximo en la paleta.
// Devuelve el número de búsqueda, el RGB de búsqueda y la coincidencia RGB convertida
foreach($colores as $id => $rgb)
{
$resultado = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$resultado = imagecolorsforindex($im, $resultado);
$resultado = "({$resultado['red']}, {$resultado['green']}, {$resultado['blue']}, {$resultado['alpha']})";
echo "#$id: Búsqueda ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Coincidencia más próxima: $resultado.\n";
}
imagedestroy($im);
?>
El resultado del ejemplo sería algo similar a:
#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0). #1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0). #2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0). #3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).