/// <summary> /// Gets a solid color brush from the color specified. /// </summary> /// <param name="color">The color in RGBA format (A is the least significant byte).</param> /// <returns>A solid color brush.</returns> public System.Windows.Media.Brush GetBrushFromColor(ExCSS.Color color) { if (!_cachedSolidBrushes.TryGetValue(color, out var brush)) { brush = new System.Windows.Media.SolidColorBrush(ToColor(color)); brush.Freeze(); _cachedSolidBrushes.Add(color, brush); } return(brush); }
public System.Windows.Media.Color ToColor(ExCSS.Color color) { if (InvertColors) { return(System.Windows.Media.Color.FromArgb(color.A, (byte)(255 - color.R), (byte)(255 - color.G), (byte)(255 - color.B))); } else { return(System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B)); } }
public static string ToColorString(ExCSS.Color color) { if (0xFF == color.A) // fully opaque { return(string.Format("#{0:X2}{1:X2}{2:X2}", color.R, color.G, color.B)); } else { return(string.Format("#{0:X2}{0:X2}{0:X2}{0:X2}", color.A, color.R, color.G, color.B)); } }