Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Цвет в MFC приложениях |
Автор: Albor 30.11.2009, 08:10 |
Столкнулся с интересным явлением: моя программа, работающая на машине коллеги, прекрасно себя вела до момента замены видеокарты. После чего, цвет текста, отличный от чёрного, стал отображаться некорректно. Проанализировав ситуацию, понял, что красная и синяя составляющие меняются местами, т.е. если я вывожу синий текст, то отображается красный и наоборот, а зелёный выводится корректно. Вроде как неправильно работает драйвер видеокарты, но, у фотошопа например, таких проблем не возникает, да и сама Windows выглядит нормально (наблюдается небольшое несоответствие только при загрузке, когда на экране появляется слово "приветствие", тень от него розоватая). Ладно бы, в моей программе неправильно отображались цвета, которые я сам устанавливаю, но с rtf-текстом то же самое: rtf-файл читается в RichEdit - цвет искажён, открываю этот же файл WordPad-ом - цвет корректный. Да, системная область окна моей программы имеет нормальный цвет. Собственно вопрос: почему моя программа, использующая библиотеки MS, работает не так, как программы самой MS, пользующей те же библиотеки? |
Автор: siew 30.11.2009, 09:12 |
Ну,то, что есть цветовая модель RGB (красный зелёный синий) всем известно, в своё время я столкнулся ещё и с обратной - BGR (синей зелёной красной). Должна быть возможность определять текущую модель и соответственно выбрать ту что нужно. Я бы ещё поглядел в настройках видеокарты и поменял бы с BGR на RGB. |
Автор: Albor 1.12.2009, 21:48 |
Установка схем RGB и BGR утилитой тюнинга ClearType ни чего не дала, некорректный цвет отображался одинаково в обох режимах. Проблема решилась установкой нового драйвера видеокарты. Если кому интересно: карта ASUS EAH 3650 Series некорректно работала с драйвером 8.450.0.0 18.12.2007, поставляемым с девайсом. Однако, некоторая озадаченность осталась - всё таки фотошоп и MS программы цвет отображали правильно, значит их программеры, видимо, не пользуются макросом RGB. Тему помечаю решённой, но если есть какие мысли пишите. Хотелось бы разобраться в этом вопросе. |