Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算十六进制颜色之间的距离并消除过于相似颜色的函数_Php_Function - Fatal编程技术网

Php 计算十六进制颜色之间的距离并消除过于相似颜色的函数

Php 计算十六进制颜色之间的距离并消除过于相似颜色的函数,php,function,Php,Function,我有一个简单的PHP函数,它为HTML颜色生成十六进制值,并将它们插入数据库 考虑到从数据库中提取的十六进制值数组,如何修改此函数以避免生成与其他颜色相似的颜色?颜色相似性有许多定义。您可能正在寻找相似的色调或相似的亮度 出于这些目的,可能最简单的方法是采用RGB空间中两点之间的欧几里德距离,即: sqrt(pow($r1 - $r0, 2) + pow($g1 - $g0, 2) + pow($b1 - $b0, 2)); 如果该值太小(例如10?),则拒绝使用该值您使用的是哪种颜色表示?H

我有一个简单的PHP函数,它为HTML颜色生成十六进制值,并将它们插入数据库


考虑到从数据库中提取的十六进制值数组,如何修改此函数以避免生成与其他颜色相似的颜色?

颜色相似性有许多定义。您可能正在寻找相似的色调或相似的亮度

出于这些目的,可能最简单的方法是采用RGB空间中两点之间的欧几里德距离,即:

sqrt(pow($r1 - $r0, 2) + pow($g1 - $g0, 2) + pow($b1 - $b0, 2));

如果该值太小(例如10?),则拒绝使用该值

您使用的是哪种颜色表示?HSV模型更易于用户执行此类任务。您所需要做的就是查看组件部件并根据特定阈值消除元素。这其中的什么因素给你带来了问题?