 Инверсный цвет текста относительно цвета фона
    , как реализовать?
    Инверсный цвет текста относительно цвета фона
    , как реализовать?
  |  | Наши проекты: Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту | |
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS | 
| [216.73.216.107] | 
|   | 
 | 
 Правила раздела Visual C++ / MFC / WTL (далее Раздела)
    Правила раздела Visual C++ / MFC / WTL (далее Раздела)
   FAQ Раздела
 FAQ Раздела   Обновления для FAQ Раздела
 Обновления для FAQ Раздела    Поиск по Разделу
 Поиск по Разделу   MSDN Library Online
 MSDN Library Online Инверсный цвет текста относительно цвета фона
    , как реализовать?
    Инверсный цвет текста относительно цвета фона
    , как реализовать?
  |  Сообщ.
           #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 Не плюсы, но направление должно быть понятно |