Frage

Was ist der beste Weg, um einen zufälligen Pinsel aus der System.Drawing.Brushes Sammlung in C # holen?

War es hilfreich?

Lösung

Wenn Sie nur eine feste Bürste mit einer zufälligen Farbe möchten, können Sie dies versuchen:

    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));

Andere Tipps

Für WPF verwenden Reflexion:

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);

Ich schlage vor, eine Liste mit genügend Probe Bürste bekommen und von dort zufällig ausgewählt wird.

Nur eine zufällige Farbe bekommt schreckliche Farben ergibt, und man kann leicht eine Liste von vielleicht 50 Farben eingerichtet, die Sie dann jedes Mal, wenn Sie benötigen eine gelegentlichen verwenden könnten.

Eine offensichtliche Art und Weise wird eine Zufallszahl zu erzeugen und dann die entsprechende Bürste auszuwählen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top