生成独特的随机显著颜色

本文关键字:颜色 随机 | 更新日期: 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