是否有任何漂亮的算法可以根据数组中的索引生成唯一的颜色?
这当然是要在用户界面中使用,以设置一些动态按钮的背景颜色。
现在与.net(和Java了我的头顶部),下面的方法被支持:
Color.FromArgb
Color.FromName
FromArgb可以将含有该ARGB颜色的32位整数。
但是,算法的方法可能会导致一些颜色的顺序太相似,这取决于数组中有多少项。而且,前景色与背景相似。
我能想到的唯一方法是创建某种颜色的数组,并使用一组预定义的颜色。当然,这是手动代码的工作量,但这样您可以通过这种方式获得一组不同的颜色在重复序列结束之前,可以在视觉上彼此不同的小范围。
另一种方法可能是使用下面的方法产生的颜色数组:
Enum.GetValues(typeof(KnownColor)
有什么建议?
干杯
本帖](http://stackoverflow.com/questions/3632843/how-to-generate-a-set-of-random-colors - 没有两种颜色 - 几乎相似)可以给你想法。 – assylias 2012-08-01 15:09:55
另请参阅[这篇文章](http://stackoverflow.com/questions/7656179/generate-visually-different-colors-with-an-unknown-color-collection-size/7731511) – 2012-08-01 18:28:01