CSharp examples for System.Windows.Media:Brush
Create Gradient Brush
using System.Windows; using System.Reflection; using System.Windows.Media; using System.Text; using System.Linq; using System.Collections.Generic; using System;// ww w. ja v a2 s . c om public class Main{ public static LinearGradientBrush GradientBrush(Color color, double luminance = 0.94, double saturation = 1.2) { int[] numbers = {color.R, color.G, color.B}; double n1 = numbers.Max(); double n2 = numbers.Min(); double n3 = n1 / (n1 - n2); double r = (color.R - n1) * saturation + n1; double g = (color.G - n1) * saturation + n1; double b = (color.B - n1) * saturation + n1; r = Math.Max(r, 0); g = Math.Max(g, 0); b = Math.Max(b, 0); double l1 = 0.298912 * color.R + 0.586611 * color.G + 0.114478 * color.B; double l2 = 0.298912 * r + 0.586611 * g + 0.114478 * b; double f = (l2 / l1) * luminance; r *= f; g *= f; b *= f; r = Math.Min(r, 255); g = Math.Min(g, 255); b = Math.Min(b, 255); Color color2 = Color.FromRgb((byte)r, (byte)g, (byte)b); LinearGradientBrush brush = new LinearGradientBrush(); brush.StartPoint = new Point(0, 0.5); brush.EndPoint = new Point(0, 1); brush.GradientStops.Add(new GradientStop(color, 0.0)); brush.GradientStops.Add(new GradientStop(color2, 1.0)); brush.Freeze(); return brush; } }