对于我的一个Web应用程序,我需要随机选择深色html颜色代码,我稍后将其用作字体颜色。因此,每次用户刷新页面时,字体的颜色都会发生变化。但它应该变成只有深色调。有没有办法做到这一点?
我使用以下代码:
$color = sprintf("#%x%x%x", rand(0,255), rand(0,255), rand(0,255));
答案 0 :(得分:5)
而不是255,使用更低的限制,例如92。
答案 1 :(得分:1)
这取决于你的意思是暗,一个非常粗糙的版本可以选择r g和b的随机颜色值在0到127之间,而不是使用完整的255范围。
您可以通过多种方式指定暗色和暗色的许多变体,其中一个或多个值可能高于某个阈值。
答案 2 :(得分:0)
“黑暗”是一个相对术语。在#FFFFFF
,#FFFFAA
和#FFFFFE
之间,第二个是“黑暗”。但一般来说,它们都不会被认为是深色。还有不同的概念可以转化为黑暗/亮度,例如亮度,值,光度亮度等。
因此,您需要首先定义您感兴趣的黑暗类型,以及您正在测量的值的阈值。
This question on the brightness of RGB values包含各种亮度计算的算法。感知亮度可能是这个特定问题的最合适的公式(虽然可能有更多算法尝试定义感知亮度而不仅仅是列出的两个,你可能想要使用一个更高级的人类感知色彩空间在那里,比如HCL或CIECAM02,而不是RGB),那么只需要反转公式就可以在特定的亮度范围内生成颜色。
修改强>
拥有像StackExchange这样的大型多元化社区的一个好处就是,这里有程序员在各种类型的领域工作,很有可能其中一个人已经被问及/回答了与你有关的问题或helpful to solving the problem you're working on。