imagecolorclosest

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorclosestGet the index of the closest color to the specified color

Descrizione

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

Returns the index of the color in the palette of the image which is "closest" to the specified RGB value.

The "distance" between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

Se l'immagine è stata creata da un file, solo i colori usati nell'immagine sono risolti. I colori presenti solo nella palette non sono risolti.

Elenco dei parametri

image

Una risorsa immagine, restituita da una delle funzioni di creazione immagine, come imagecreatetruecolor().

red

Valore della componente rossa.

green

Valore della componente verde.

blue

Valore della componente blu.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Valori restituiti

Returns the index of the closest color, in the palette of the image, to the specified one

Log delle modifiche

Versione Descrizione
8.0.0 image expects a GdImage instance now; previously, a valid gd resource was expected.

Esempi

Example #1 Search for a set of colors in an image

<?php
// Start with an image and convert it to a palette-based image
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Search colors (RGB)
$colors = array(
array(
254, 145, 154),
array(
153, 145, 188),
array(
153, 90, 145),
array(
255, 137, 92)
);

// Loop through each search and find the closest color in the palette.
// Return the search number, the search RGB and the converted RGB match
foreach($colors as $id => $rgb)
{
$result = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
$result = imagecolorsforindex($im, $result);
$result = "({$result['red']}, {$result['green']}, {$result['blue']})";

echo
"#$id: Search ($rgb[0], $rgb[1], $rgb[2]); Closest match: $result.\n";
}
?>

Il precedente esempio visualizzerà qualcosa simile a:

#0: Search (254, 145, 154); Closest match: (252, 150, 148).
#1: Search (153, 145, 188); Closest match: (148, 150, 196).
#2: Search (153, 90, 145); Closest match: (148, 90, 156).
#3: Search (255, 137, 92); Closest match: (252, 150, 92).

Vedere anche: