На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Инверсный цвет текста относительно цвета фона, как реализовать?
    В общем пользователь может изменить цвет окна диалога, на котором есть статик.
    Автоматически меняется и цвет фона статика
    Нужно изменять на инверсный цвет текста статика.
    Если просто делать инверсию
    ExpandedWrap disabled
      COLORREF cr;
      cr = RGB( ~((unsigned char)GetRValue(crf)), ~((unsigned char)GetGValue(crf)), ~((unsigned char)GetBValue(crf)) );

    то не всегда отчетливо виден текст.
    Как быть?
      Цитата Vladimir_ @
      Как быть?

      Сам не делал, но попробую предложить вот какой вариант ... Для достаточной видимости чего-то (пусть текста) на фоне должен быть обеспечен достаточный уровень контраста. Скорее всего лучше поэкспериментировать и подобрать его самостоятельно. Для людей с нарушением зрения в плане цветопередачи - нужно предусмотреть особые режимы.

      ExpandedWrap disabled
        С = (L1 + 0,05) / (L2 + 0,05), где
         
        С - Коэффициент контраста, согласно стандарту WCAG
        L1 — относительная яркость самого светлого цвета
        L2 — относительная яркость самого тёмного цвета

      В цветовом пространстве sRGB (обычно мониторы, планшеты и подобные устройства) яркость вычисляется по формуле:

      ExpandedWrap disabled
        L = 0,2126 * R + 0,7152 * G + 0,0722 * B

      Вот по этим формулам смотрим контрастность. Наверное и автоподбор цветов получится несложно организовать.
      Рекомендую почитать дополнительно эту статью.
        Цитата Vladimir_ @
        Нужно изменять на инверсный цвет текста статика.

        Не нужно.
        Если дана возможность менять цвет фона, то разумно
        дать возможность менять цвет текста.
        Пусть юзер сам подбирает для себя удобный вариант
        расцветки.
          Цитата Vladimir_ @
          Как быть?

          Распространённая задача
          https://stackoverflow.com/questions/1186754...background-area
          Не плюсы, но направление должно быть понятно
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0223 ]   [ 15 queries used ]   [ Generated: 29.06.22, 16:26 GMT ]