в моем текущем инструменте есть цветная рамка с несколькими цифрами. Задний цвет поля определяется каким-то списком, но также может быть изменен пользователем. Передний цвет (== fontcolor от чисел) не может, и я хочу убедиться, что пользователь всегда может читать числа, поэтому я хотел бы настроить передний цвет чисел каждый раз, когда изменяется задний цвет.
Atm, я использую такой код:
if(Math.Abs(foreColor.GetBrightness() - backColor.GetBrightness()) <= 0.5f)
{
if(foreColor.GetBrightness() > 0.5f)
{
foreColor = Color.Black;
}
else
{
foreColor = Color.White;
}
}
но это только обходной путь для проблемы, есть довольно много цветов (в основном желтых), приводящих к плохому чтению дисплея. Кто-нибудь коснулся подобной проблемы и нашел хорошее решение?