Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

imagecolorclosest

Image-Funktionen

    Befehl:
int imagecolorclosest ( resource $image , int $red , int $green , int $blue )


    Parameter-Liste:
NameBeschreibung
imageEine Bildressource von einer der Bilderzeugungsfunktionen, wie imagecreatetruecolor() zurückgegeben.
redWert der Rot-Komponente.
Diese Parameter sind ganze Zahlen zwischen 0 und 255 oder hexadezimal zwischen 0x00 und 0xFF.
greenWert der Grün-Komponente.
Diese Parameter sind ganze Zahlen zwischen 0 und 255 oder hexadezimal zwischen 0x00 und 0xFF.
blueWert der Blau-Komponente.
Diese Parameter sind ganze Zahlen zwischen 0 und 255 oder hexadezimal zwischen 0x00 und 0xFF.

    Rückgabewerte:
Gibt den Index der nächsten Farbe in der Palette des Bildes, in das angegebene als nächstes richtig darstellt.

    Beschreibung:
Gibt den Index der Farbwert-Palette des Bildes im zurück, der den angegebenen RGB-Werten am nächsten kommt.

Die "Entfernung" zwischen der angeforderten Farbe und jedem Farb-Paletten-Wert wird berechnet, als ob die angegebenen RGB-Werte Punkte in einem dreidimensionalen Raum darstellen.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Siehe auch:
Ermittelt den Index-Wert der angegebenen Farbe
 
Gibt den Index der nächsten Farbe zu der angegebenen Farbe + alpha
 
Gibt den Index der Farbe, die den Farbton hat, weiss und Schwärze
 

imagecolorclosest() - Beispiel:


Eingabe:
<?PHP
$image = imagecreate ( 300, 150 );
$rot = imagecolorallocate ( $image, 220, 14, 14 );
$gruen = imagecolorallocate ( $image, 28, 246, 5 );
$blau = imagecolorallocate ( $image, 16, 5, 246 );
echo imagecolorclosest ( $image, 28, 246, 4 );
?>


Ausgabe:
1
imagecolorclosest() - Beispiel: Suche nach einem Satz von Farben in einem Bild


Eingabe:
<?PHP
// Beginnen mit einem Bild und wandelt es in eine Palette basierten Bild
$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)
);

// Schleife durch jede Suche und findet die nächste Farbe in der Palette.
// Bringt die Suchnummer, die Suche und das konvertierte RGB RGB Spiel
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";
}

imagedestroy($im);
?>


Ausgabe:
#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).
Image-Funktionen