using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace Ink_Canvas.Helpers { public class ColorUtilities { /// /// 获取一个颜色的人眼感知亮度,并以 0~1 之间的小数表示。 /// public static double GetGrayLevel(Color color) { return (0.299 * color.R + 0.587 * color.G + 0.114 * color.B) / 255; } /// /// 根据人眼感知亮度返回前景色到底是黑色还是白色 /// /// GetGrayLevel返回的人眼感知亮度 /// Color public static Color GetReverseForegroundColor(double grayLevel) => grayLevel > 0.5 ? Colors.Black : Colors.White; } }