Función php hexadecimal o rgb de color a nombre de color

¿Existe una función php que devuelva el nombre de colmo más cercano al darle el color rgb o hex como parámetro? He chamuscado mucho pero no puedo encontrar una función que haga ese trabajo.

Por favor ayuda

Vea mi código a continuación. Lo uso para copiar Logo Color para cambiar el tema del sitio automáticamente en tiempo de ejecución. ¡Espero que funcione!

Simplemente pase la URL de la imagen como parámetro en la función.

function CopyLogoColor($logo_path){ $i = imagecreatefromjpeg($logo_path); $rTotal = 0; $gTotal =0; $bTotal = 0; $total = 0; for ( $x=0 ; $x> 16) & 0xFF; $g = ($rgb >> 8)& 0xFF; $b = $rgb & 0xFF; $rTotal += $r; $gTotal += $g; $bTotal += $b; $total++; } } $rAverage = round($rTotal/$total); $gAverage = round($gTotal/$total); $bAverage = round($bTotal/$total); $r = intval($rAverage); $g = intval($gAverage); $b = intval($bAverage); $r = dechex($r<0?0:($r>255?255:$r)); $g = dechex($g<0?0:($g>255?255:$g)); $b = dechex($b<0?0:($b>255?255:$b)); $color = (strlen($r) < 2?'0':'').$r; $color .= (strlen($g) < 2?'0':'').$g; $color .= (strlen($b) < 2?'0':'').$b; return '#'.$color; } 

no hay tal función,

Tendrá que escribir su propia función que recupere el valor R, G y B de forma induvidual, y los coloque en cada valor y averiguar cuál es el más cercano (el total de R y G y B es el más pequeño)

Puede encontrar todos los nombres de HTML aquí: http://www.w3.org/TR/SVG/types.html#ColorKeywords


ex:

usuario cede en [250,1,2] (olwost rojo). usted tiene una matriz:

 $input = [255,1,2] $colors = array("red" => [255,0,0],"green"=>[0,255,0]) // used JS array to be quiker foreach( $ .. as .. $color){ // or a sort function? // get diff, key 0 is red key 2 is blue $diff = abs($input[0] - $color[0]) + ... + abs($input[2] - $color[2]); } 

rojo tendrá una diferencia de: 5 + 1 + 2 verde tendrá: 250 + 254 + 2 azul es: 250 + 1 + 253

El rojo tiene la sum más baja, por lo que debe ser colsest a rojo. azul es el siguiente, y luego viene verde