Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.216.32.116] |
|
Сообщ.
#1
,
|
|
|
В общем пользователь может изменить цвет окна диалога, на котором есть статик.
Автоматически меняется и цвет фона статика Нужно изменять на инверсный цвет текста статика. Если просто делать инверсию COLORREF cr; cr = RGB( ~((unsigned char)GetRValue(crf)), ~((unsigned char)GetGValue(crf)), ~((unsigned char)GetBValue(crf)) ); то не всегда отчетливо виден текст. Как быть? |
Сообщ.
#2
,
|
|
|
Цитата Vladimir_ @ Как быть? Сам не делал, но попробую предложить вот какой вариант ... Для достаточной видимости чего-то (пусть текста) на фоне должен быть обеспечен достаточный уровень контраста. Скорее всего лучше поэкспериментировать и подобрать его самостоятельно. Для людей с нарушением зрения в плане цветопередачи - нужно предусмотреть особые режимы. С = (L1 + 0,05) / (L2 + 0,05), где С - Коэффициент контраста, согласно стандарту WCAG L1 — относительная яркость самого светлого цвета L2 — относительная яркость самого тёмного цвета В цветовом пространстве sRGB (обычно мониторы, планшеты и подобные устройства) яркость вычисляется по формуле: L = 0,2126 * R + 0,7152 * G + 0,0722 * B Вот по этим формулам смотрим контрастность. Наверное и автоподбор цветов получится несложно организовать. Рекомендую почитать дополнительно эту статью. |
Сообщ.
#3
,
|
|
|
Цитата Vladimir_ @ Нужно изменять на инверсный цвет текста статика. Не нужно. Если дана возможность менять цвет фона, то разумно дать возможность менять цвет текста. Пусть юзер сам подбирает для себя удобный вариант расцветки. |
Сообщ.
#4
,
|
|
|
Цитата Vladimir_ @ Как быть? Распространённая задача https://stackoverflow.com/questions/1186754...background-area Не плюсы, но направление должно быть понятно |