(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.
imageUm objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
redValor do componente vermelho.
greenValor do componente verde.
blueValor 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";
}
?>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).