【发布时间】:2016-09-11 01:47:56
【问题描述】:
我想为图表生成随机颜色,但我尝试的颜色无法识别,并且生成的颜色通常彼此相似。有可能创造出这样的颜色吗?
我的方法:
public Color[] GenerateColors(int n)
{
Color[] colors = new Color[n];
for (int i = 0; i < n; i++)
{
int R = rnd.Next(0, 250);
int G = rnd.Next(0, 250);
int B = rnd.Next(0, 250);
Color color = Color.FromArgb(R, G, B);
colors[i] = color;
}
return colors;
}
【问题讨论】:
-
在这种情况下,你最好不要使用随机的,而是使用某种模式
-
请参阅here 了解色距的讨论。还请查看
KnownColors! -
谢谢@OldBoyCoder 文章很好地解释了问题并给出了很好的解决方案
-
根据你需要多少颜色,你可以硬编码它们。 Cynthia Brewer 的ColorBrewer 被广泛用于生成易于区分的颜色方案以显示数据。选择数据的性质,选择数据类的数量,最后选择您喜欢的配色方案/调色板。复制这些十六进制值,将它们存储在列表或数组中,获利!