我以这种方式生成随机颜色:
var random = new Random();
var color = String.Format("#{0:X6}", random.Next(0x1000000));
如何排除比某个值更亮的颜色?
答案 0 :(得分:9)
摆脱最亮色的“上半部分”的简单方法是通过
掩盖结果random.Next(0x1000000) & 0x7F7F7F
答案 1 :(得分:7)
执行此操作的一种方法是在HSV/HSL colour-space中生成颜色,然后转换为RGB(维基百科文章告诉您如何执行此操作)。
HSV的优点是其中一个组件(V)对应于“亮度”。因此,如果您独立且随机地生成H,S和V,但将V限制为低值,那么您将获得深色。
答案 2 :(得分:0)
您可以通过NuGet安装ColorHelper库并使用下一个代码:
using ColorHelper;
RGB rgb = ColorGenerator.GetDarkRandomColor<RGB>();
您可以使用其他类代替 RGB 类。例如:十六进制, CMYK 或其他。