Mr.*_*ack 2 ruby random colors
我知道这可能是重复的问题. Ruby,生成随机的十六进制颜色
我的问题略有不同.我需要知道,如何只生成随机六角光,而不是黑暗.
在该线程中,使用公式来描述发光度
(0.2126*r) + (0.7152*g) + (0.0722*b)
Run Code Online (Sandbox Code Playgroud)
维基百科中给出了相同的亮度公式(并且取自本出版物).它反映了人类的感知,绿色是最"密集"的,蓝色是最少的.
因此,可以直到亮度值变为之间的划分上述选择R,G,B 光与暗(255 0).例如:
lum, ary = 0, []
while lum < 128
ary = (1..3).collect {rand(256)}
lum = ary[0]*0.2126 + ary[1]*0.7152 + ary[2]*0.0722
end
Run Code Online (Sandbox Code Playgroud)
另一篇文章提到亮度,即r,g和b的算术平均值.请注意,亮度更加主观,因为给定的目标亮度可以在不同的环境中引出不同的亮度感知(特别是,周围的颜色会影响您的感知).
总而言之,这取决于你认为"轻"的颜色.