从一组十六进制颜色中获取基色 - php

我有一组颜色,想将它们分解为10到20种基本颜色。

这不应是传入内容的托盘,而应与传入内容无关。因此,如果使用的图像只是各种深浅不一的红色,它将仅返回红色,可能是浅红色/深红色。

EG:我的颜色是下面的框,其中输出示例为线条。因此,在此示例中,列表从21种颜色减少到8种。

上面的十六进制值:

#000000
#ffffff
#003e9f
#d61517
#00a7bd
#001070
#a0210c
#dc9103
#e6151e
#fdfdfd
#011171
#fbfd10
#ffc500
#fdc605
#e6141d
#faf703
#544b20
#796a3a
#7a6b3a

最终输出可能类似于此色轮的外圈

参考方案

预先选择base颜色并进行排列-您可以在色轮外圈中使用12。将关联数组用作输出的集合:对于每种输入颜色,找到最接近的基色并将其作为键添加到输出数组。然后返回该数组的键。

要找到颜色距离,您可以将颜色视为三维空间中的点(x,y,z)=(r,g,b),然后使用欧几里得距离。从十六进制字符串中提取组件之后,就是这样的:

$dr = $r2 - $r1; 
$dg = $g2 - $g1; 
$db = $b2 - $b1; 
$dist = sqrt($dr * $dr + $dg * $dg + $db * $db);  

如果需要,您可以对八叉树做一些花哨的事情,但是只需一小撮颜色就可以遍历它们,找到最小的距离就可以了。

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

PHP-我们应在会话中包含哪些数据? - php

这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…