如何使用c#生成随机和纯色

时间:2013-10-31 13:13:34

标签: c# asp.net colors

我正在编写一个asp.net应用程序,我必须完成以下两项任务:

  1. 根据用户输入'n'生成'n'个随机颜色(n是用户想要生成的颜色的颜色)。

  2. 所有生成的颜色都应为纯色。

  3. 注意:我应该只生成纯色,因为当我在另一种颜色(color_old)上覆盖一种颜色(color_new)时,重写的颜色(color_old)不应再显示。

    我做了什么:

    我在C#(代码隐藏文件)中编写了以下代码,用于生成随机颜色,并且工作正常。

     private Color GenerateNewColor()
     {
         var values = Guid.NewGuid().ToByteArray().Select(b => (int)b);
         int red = values.Take(5).Sum() % 255;
         int green = values.Skip(5).Take(5).Sum() % 255;
         int blue = values.Skip(10).Take(5).Sum() % 255;
    
         return Color.FromArgb(255,red, green, blue);
     }
    

    现在我的问题是“我应该如何确保生成的颜色是否来自上述功能?”

    先谢谢。

1 个答案:

答案 0 :(得分:7)

除非你对“纯色”有一个奇怪的定义,否则FromArgb生成的任何颜色都是255的alpha通道。