Is there a php function that return the closest colorname by give the rgb or hex color as parameter? I have seared a lot but can\'t find a function that does that job.
P
there is no such function,
you will need to write your own function that fetches the R, G and B value induvidualy, and loops them to each value and find out wat the closest is ( total of R and G and B ofset the smallest)
you can find all HTML colornames here: http://www.w3.org/TR/SVG/types.html#ColorKeywords
ex:
user gives in [250,1,2] (olwost red). you have a array:
$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]);
}
red will have a diff of: 5 + 1 + 2 green will have: 250 + 254 + 2 blue is : 250 + 1 + 253
red has the lowest sum, so it must be colsest to red. blue is the next, and then comes green