【发布时间】:2012-08-01 15:05:56
【问题描述】:
全部,
有没有什么好的算法可以根据数组中的索引生成唯一的颜色?
这当然会在 UI 中使用,用于设置多个动态按钮的背景颜色。
现在有了 .Net(我不禁想到 Java),支持以下方法:
Color.FromArgb
Color.FromName
FromArgb 可以采用包含 argb 颜色的 32 位整数。
但是,算法方法可能会导致某些颜色的顺序过于相似,具体取决于数组中有多少项。还有,前景色和背景色相似的地方。
我能想到的唯一方法是创建某种颜色数组,其中包含一组预定义的颜色。当然,这是手动代码工作,但这样你可以在一个小范围内获得一组不同的颜色在向末尾重复序列之前,可以在视觉上彼此不同的范围。
另一种方法是使用以下方法生成颜色数组:
Enum.GetValues(typeof(KnownColor)
有什么建议吗?
干杯
【问题讨论】: