6

C#でSystem.Drawing.Brushesコレクションからランダムなブラシを選択するための最良の方法は何ですか?

4

4 に答える 4

13

ランダムな色の単色のブラシが必要な場合は、次の方法を試すことができます。

    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));
于 2009-06-18T03:36:51.770 に答える
3

WPFの場合、リフレクションを使用します。

var r = new Random();
var properties = typeof(Brushes).GetProperties();
var count = properties.Count();

var colour = properties
            .Select(x => new { Property = x, Index = r.Next(count) })
            .OrderBy(x => x.Index)
            .First();

return (SolidColorBrush)colour.Property.GetValue(colour, null);
于 2012-07-01T13:37:56.357 に答える
2

十分なサンプルブラシのリストを取得し、そこからランダムに選択することをお勧めします。

ランダムな色を取得するだけでひどい色になり、ランダムな色が必要になるたびに使用できる50色のリストを簡単に設定できます。

于 2010-06-15T09:54:42.800 に答える
1

明らかな方法は、乱数を生成してから、対応するブラシを選択することです。

于 2009-06-18T03:33:10.623 に答える