Dans mon outil actuel, il y a une boîte colorée avec quelques chiffres. La couleur de fond de la boîte est définie par une sorte de liste mais peut également être modifiée par l'utilisateur. La couleur de fond (== fontcolor des nombres) ne peut pas, et je veux m'assurer que l'utilisateur peut toujours lire les nombres, ainsi je voudrais ajuster le forecolor des nombres chaque fois que le backcolor change.Comment calculer une couleur facile à lire pour une couleur de fond aléatoire?
Atm i utiliser le code comme ceci:
if(Math.Abs(foreColor.GetBrightness() - backColor.GetBrightness()) <= 0.5f)
{
if(foreColor.GetBrightness() > 0.5f)
{
foreColor = Color.Black;
}
else
{
foreColor = Color.White;
}
}
mais c'est seulement une solution pour le problème, il y a beaucoup de couleurs (surtout) conduisant à jaunit une mauvaise pour lire l'affichage. Quelqu'un a-t-il abordé un problème similaire et trouvé une bonne solution?
Ceci fonctionne parfaitement si vous êtes autorisé à utiliser du texte entièrement coloré, malheureusement, je ne peux pas le faire. – Stimpatch