@ -103,7 +103,7 @@ namespace Avalonia.Diagnostics.Controls
}
}
/// <summary>
/// <summary>
/// <see cref="https://stackoverflow.com/questions/6763032/how-to-pick-a-background-color-depending-on-font-color-to-have-proper-contrast">How to pick a background color depending on font color to have proper contrast</see>/>
/// Get Contrasted Text Color
/// </summary>
/// </summary>
/// <param name="brush"></param>
/// <param name="brush"></param>
/// <returns></returns>
/// <returns></returns>
@ -112,16 +112,7 @@ namespace Avalonia.Diagnostics.Controls
if ( brush is ISolidColorBrush solid )
if ( brush is ISolidColorBrush solid )
{
{
var color = solid . Color ;
var color = solid . Color ;
var l = ColorHelper . GetRelativeLuminance ( color ) ;
double R = color . R / 2 5 5.0 ;
double G = color . G / 2 5 5.0 ;
double B = color . B / 2 5 5.0 ;
R = Math . Pow ( ( R + 0.055 ) / 1.055 , 2.4 ) ;
G = Math . Pow ( ( G + 0.055 ) / 1.055 , 2.4 ) ;
B = Math . Pow ( ( B + 0.055 ) / 1.055 , 2.4 ) ;
var l = 0.2126 * R + 0.7152 * G + 0.0722 * B ;
return l < 0.5 ? Brushes . White : Brushes . Black ;
return l < 0.5 ? Brushes . White : Brushes . Black ;
}
}