从C#中的笔刷集合中选择随机笔刷的最佳方法是什么?

从C#中的笔刷集合中选择随机笔刷的最佳方法是什么?,c#,collections,select,brush,C#,Collections,Select,Brush,从C#中的System.Drawing.Brusks集合中选择随机画笔的最佳方法是什么?一个明显的方法是生成一个随机数,然后选择相应的画笔。如果您只想要一个具有随机颜色的实心画笔,可以尝试以下方法: Random r = new Random(); int red = r.Next(0, byte.MaxValue + 1); int green = r.Next(0, byte.MaxValue + 1); int blue = r.Next(0, byte.M

从C#中的System.Drawing.Brusks集合中选择随机画笔的最佳方法是什么?

一个明显的方法是生成一个随机数,然后选择相应的画笔。

如果您只想要一个具有随机颜色的实心画笔,可以尝试以下方法:

    Random r = new Random();
    int red = r.Next(0, byte.MaxValue + 1);
    int green = r.Next(0, byte.MaxValue + 1);
    int blue = r.Next(0, byte.MaxValue + 1);
    System.Drawing.Brush brush = new System.Drawing.SolidBrush(Color.FromArgb(red, green, blue));

我建议得到一个足够的样本刷子列表,并从中随机选择


仅仅获得一个随机颜色就会产生糟糕的颜色,你可以很容易地设置一个包含50种颜色的列表,然后每次需要随机颜色时都可以使用。

对于WPF,使用反射:

var r=new Random();
var properties=typeof(画笔).GetProperties();
var count=properties.count();
颜色=属性
.Select(x=>new{Property=x,Index=r.Next(count)})
.OrderBy(x=>x.Index)
.First();
返回(SolidColorBrush)color.Property.GetValue(color,null);

他想要System.Drawing.Brush