imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorclosestalphaObtém o índice da cor mais próxima à especificada (incluindo alfa)

Descrição

imagecolorclosestalpha(
    GdImage $image,
    int $red,
    int $green,
    int $blue,
    int $alpha
): int

Retorna o índice da cor na paleta da imagem que for a mais "próxima" ao valor RGB e ao nível alpha especificados.

Parâmetros

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.

Os parâmetros de cores são inteiros entre 0 e 255 ou hexadecimais entre 0x00 e 0xFF.

Valor Retornado

Retorna o índice na paleta da imagem da cor mais próxima à especificada.

Exemplos

Example #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).

Veja Também