我有一组独特的字符串,我希望用颜色显示它们。字符串在这里和那里重复,所以我需要颜色是一致的,而不是随机的。
一种方法是随机化颜色并将其保存Dictionary
或类似的东西,这样我就可以再次使用相同的颜色。
另一种方法是提出一个简单的算法/逻辑,以某种方式将字符串转换为System.Drawing.Color
.
但是,我想将其保留为一组预定义的颜色,这样我最终不会得到不太好的颜色。让我们称之为List<Color> allowedColors
.
我尝试Convert.ToByte()
并认为我会将字节用于 的 R、G 和 B 组件Color
,但这不起作用,因为转换不是那样工作的。
字符串只是一个简单的字符串String foo = "bar";
。颜色和字符串之间的关系只要一致就没有关系,即每次运行程序时,它应该等于相同的颜色,并且每个字符串的颜色通常应该不同(是的,会有重复的颜色,因为字符串比颜色多,而且它不是一对一的映射)。
这些字符串来自我无法控制的来源。它们是独一无二的,但各不相同。每次启动程序时,如果出现相同的字符串,它应该是相同的颜色。
所以,我想我正在寻找某种字符串到字节的转换,当重叠时,字节范围重新开始,最后字节映射到 RGB 并发送到Color.FromArgb()
.