public static Color GetForeColor(Color foreColor, Color backColor)
{
var colorVariance = GetColourVariance(foreColor, backColor);
if (colorVariance < 0.5)
{
return Color.White;
}
else
{
return foreColor;
}
}
private static double GetColourVariance(Color color1, Color color2)
{
if (color1.Luminosity > color2.Luminosity)
{
return color1.Luminosity - color2.Luminosity;
}
else
{
return color2.Luminosity - color1.Luminosity;
}
}
{
var colorVariance = GetColourVariance(foreColor, backColor);
if (colorVariance < 0.5)
{
return Color.White;
}
else
{
return foreColor;
}
}
private static double GetColourVariance(Color color1, Color color2)
{
if (color1.Luminosity > color2.Luminosity)
{
return color1.Luminosity - color2.Luminosity;
}
else
{
return color2.Luminosity - color1.Luminosity;
}
}