English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

PHP imagecolorclosestalpha() gibt den Index der Farbe zurück, die der angegebenen Farbe und Transparenz am nächsten liegt

PHP-Bildverarbeitung

imagecolorclosestalpha — Gibt den Index der Farbe zurück, die der angegebenen Farbe und Transparenz am nächsten liegt.

Syntax

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Gibt die dem angegebenen RGB-Wert und der Alpha-Tiefe "am nächsten" liegende Farbe im Bildpaletten zurück.

Parameter

  • BildDas Bildressource, die von der Bilderstellungsfunktion (z.B. imagecreatetruecolor()) zurückgegeben wird.

  • rotWert des Rotanteils.

  • greenWert des Grünanteils.

  • blueWert des Blauanteils.

  • alphaeine zwischen 0 und 127 zwischen den Werten.127 stellt vollständige Transparenz dar.

Die Farbparameter sind zwischen 0 und 255 zwischen ganzen Zahlen oder zwischen 0x00 und 0xFF in Hexadezimalzahlen.

Rückgabewert

Geben Sie den Index der nächsten Farbe in der Palette zurück.

Beispiel

Suchen Sie nach einer Gruppe von Farben in einem Bild.

<?php
// Beginnen Sie mit einem Bild und wandeln Sie es in ein Bild um, das auf einer Palette basiert.
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Suchen Sie nach Farben (RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);
// Durchlaufen Sie den Zyklus, um die dem nächstliegende Farbe im Farbschema zu finden
// Geben Sie die Anzahl der Suchvorgänge sowie die gesuchten RGB und die am nächsten liegenden RGB zurück.
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: Suchen ($rgb[0], $rgb[1], $rgb[2], $rgb[3); Am nächsten liegender Abgleich: $result。\n";
}
imagedestroy($im);
?>

Die Ausgabe der obigen Beispiele ähnelt:

#0: Suchen (254, 145, 154, 50); Am nächsten liegender Abgleich: (252, 150, 148, 0)。
#1: Suchen (153, 145, 188, 127); Am nächsten liegender Abgleich: (148, 150, 196, 0)。
#2: Suchen (153, 90, 145, 0); Am nächsten liegender Abgleich: (148, 90, 156, 0)。
#3: Suchen (255, 137, 92, 84); Am nächsten liegender Abgleich: (252, 150, 92, 0)。

Verwandte Artikel

  • imagecolorexactalpha() Erhalten Sie den Index des Farbt-ons mit Transparenz, der dem angegebenen Farbton am nächsten liegt.

  • imagecolorclosest() Erhalten Sie den Index des Farbt-ons, der dem angegebenen Farbton am nächsten liegt.

  • imagecolorclosesthwb() Erhalten Sie den Index der Graustufen, der dem angegebenen Farbton am nächsten liegt.

PHP-Bildverarbeitung