(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorclosestalpha — Obtém o índice da cor mais próxima à especificada (incluindo alfa)
Retorna o índice da cor na paleta da imagem que for
a mais "próxima" ao valor RGB e ao nível
alpha
especificados.
image
Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
red
Valor do componente vermelho.
green
Valor do componente verde.
blue
Valor do componente azul.
alpha
Um valor entre 0
e 127
.
0
indica completamente opaco enquanto que
127
indica completamente transparente.
Retorna o índice na paleta da imagem da cor mais próxima à especificada.
Exemplo #1 Procura por um conjunto de cores em uma imagem
<?php
// Inicia com uma imagem e converte-a para uma baseada em paleta
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Cores que serão procuradas (RGB)
$colors = array(
array(254, 145, 154, 50),
array(153, 145, 188, 127),
array(153, 90, 145, 0),
array(255, 137, 92, 84)
);
// Faz uma repeticação para cada procura e encontra a cor mais próxima na paleta.
// Retorna o número da procura, a cor RGB sendo procurada e a cor correspondente encontrada, convertida para RGB
foreach($colors as $id => $rgb)
{
$result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$result = imagecolorsforindex($im, $result);
$result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";
echo "#$id: Cor procurada: ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Cor mais próxima: $result.\n";
}
imagedestroy($im);
?>
O exemplo acima produzirá algo semelhante a:
#0: Cor procurada: (254, 145, 154, 50); Cor mais próxima: (252, 150, 148, 0). #1: Cor procurada: (153, 145, 188, 127); Cor mais próxima: (148, 150, 196, 0). #2: Cor procurada: (153, 90, 145, 0); Cor mais próxima: (148, 90, 156, 0). #3: Cor procurada: (255, 137, 92, 84); Cor mais próxima: (252, 150, 92, 0).