生成独特的随机显著颜色
本文关键字:颜色 随机 | 更新日期: 2023-09-27 17:50:22
我正在尝试在c#或vb.net中生成独特且显著随机的颜色。我现在使用下面的代码。但是这段代码生成的颜色几乎是一样的,变化不大。
如何才能独特的一种颜色?
Private Function GetRandomColor() As Color
Dim RandGen As New Random()
Return Color.FromArgb(RandGen.Next(70, 200), RandGen.Next(100, 225),
RandGen.Next(100, 230))
End Function
您最好使用生成HSL颜色的类,这样更容易控制突出。有几个类
等……http://www.geekymonkey.com/Programming/CSharp/RGB2HSL_HSL2RGB.htm
或
http://richnewman.wordpress.com/hslcolor-class/控制亮度/饱和度意味着你可以在任何色调下获得鲜艳的色彩。
使用richnewman类…
var c = new HSLColor(new Random(0,100),80,80);
我们只在色相中设置一个随机的值,颜色和颜色可以固定在任何看起来最好的
尝试随机选择一个RGB值为低(0-100)
这很可能是因为您每次都在创建一个新的Random实例。尝试将实例移到方法之外,比如在类级别,看看是否有帮助
。
Dim RandGen As New Random()
Private Function GetRandomColor() As Color
Return Color.FromArgb(RandGen.Next(70, 200), RandGen.Next(100, 225),
RandGen.Next(100, 230))
End Function