-1

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

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

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

注意:我应该只生成纯色,因为当我在另一种颜色(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);
 }

现在我的问题是“我应该如何确保上述函数生成的颜色是纯色?”

提前致谢。

4

1 回答 1

7

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

于 2013-10-31T13:17:16.987 回答