我这样生成一个随机颜色:
var random = new Random();
var color = String.Format("#{0:X6}", random.Next(0x1000000));
Run Code Online (Sandbox Code Playgroud)
如何排除比某个值更亮的颜色?
How*_*ard 10
摆脱亮色的"上半部分"的一种非常简单的方法是通过掩盖结果
random.Next(0x1000000) & 0x7F7F7F
Run Code Online (Sandbox Code Playgroud)
一种方法是在HSV/HSL颜色空间中生成颜色,然后转换为RGB(维基百科文章告诉您如何做到这一点).
HSV的优点是组件(V)之一对应于"亮度".因此,如果您独立且随机地生成H,S和V,但将V限制为低值,那么您将获得深色.