【发布时间】:2010-09-03 03:22:46
【问题描述】:
我目前使用以下函数来生成颜色的随机十六进制表示。
function getRandomColor($max_r = 192, $max_g = 192, $max_b = 192) {
if ($max_r > 192) { $max_r = 192; }
if ($max_g > 192) { $max_g = 192; }
if ($max_b > 192) { $max_b = 192; }
if ($max_r < 0) { $max_r = 0; }
if ($max_g < 0) { $max_g = 0; }
if ($max_b < 0) { $max_b = 0; }
return '#' . dechex(rand(0, 192)) . dechex(rand(0, 192)) . dechex(rand(0, 192));
}
请注意,我将最大值设置为 192 而不是 255,唯一的原因是我避免使用非常浅的颜色,目的是使用随机颜色作为白色背景中的前景。
我的问题是如何生成一组无限编号的颜色,其中没有几乎相同的颜色。例如:#D964D9 & #FF3EFF ?
【问题讨论】:
-
在寻找解决方案时要记住的一件事是,如果您计划将随机选择的两种颜色彼此靠近显示,那么有许多颜色根本不属于一起,并且会让你的眼睛流血。
标签: colors