如何在C#中生成随机深色?

gor*_*mit 8 c# colors

我这样生成一个随机颜色:

 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)


Oli*_*rth 7

一种方法是在HSV/HSL颜色空间中生成颜色,然后转换为RGB(维基百科文章告诉您如何做到这一点).

HSV的优点是组件(V)之一对应于"亮度".因此,如果您独立且随机地生成H,S和V,但将V限制为低值,那么您将获得深色.