我有一个简单的PHP函数,它为HTML颜色生成十六进制值并将它们插入到数据库中。
考虑从db中提取的十六进制值数组,如何修改此函数以避免生成与其他颜色类似的颜色?
答案 0 :(得分:1)
颜色的相似性有很多定义。您可能正在寻找类似的色调或类似的亮度。
出于这些目的,也许最简单的方法是在RGB空间中取两个点之间的欧几里德距离,即:
sqrt(pow($r1 - $r0, 2) + pow($g1 - $g0, 2) + pow($b1 - $b0, 2));
并拒绝那些价值太小的人(例如10?)