/// <summary> /// Generate a random gradient /// </summary> public Gradient() { // Add beginning and end points _segments.Add(0.0, DoubleColor.GetRandomColorAlpha()); _segments.Add(1.0, DoubleColor.GetRandomColorAlpha()); // Determine number of intermediate points var loops = 1; var loopVal = RandomNumberProvider.GetDouble(); while (loopVal < (0.75 / loops)) { var newSegmentIndex = RandomNumberProvider.GetDouble(); if (!_segments.ContainsKey(newSegmentIndex)) { _segments.Add(newSegmentIndex, DoubleColor.GetRandomColorAlpha()); } loops++; } }
public VerticalStripe() { _stripeWidth = RandomNumberProvider.GetDouble() * 0.25; _stripeColor = DoubleColor.GetRandomColorAlpha(); _stripeColor.A = _stripeColor.A / 2.0; }