Canvas.TextOut и истинный цвет

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Canvas.TextOut и истинный цвет

Сообщение TrUsTeR » 11.04.2009 16:25:48

Здравствуйте всем!

Наткнулся на следущую траблу, погуглил-поискал - безрезультатно.
Создаю Bitmap, на него рисую строку текста определенного цвета (отличного от фона, например красный). Больше ничего не рисую.
После этого проверяю RGB получившегося изображения.
Под win32 получаю:
Код: Выделить всё
куча 255.255.255 (белый)
кое где 255.0.0 (красный)

То есть всё нормально, два цвета в картинке.
Под linux получаю:
Код: Выделить всё
куча 255.255.255 есстественно белый
255.40.18
255.187.227
266.42.136 и т.д.

в итоге получаем совсем другое. В картинке получается порядка 30 оттенков.
Настройки алиасинга, цвета шрифта, и т.п. рыл - не помогает. Вроде всё просто, но не выходит. :(

Кто что подскажет? ;)

Добавлено: имею данный глюк только под Linux/gtk2; под Win32/gtk2 и Linux/gtk1 всё нормально.

added: Lazarus svn17967, fpc 2.2.3
TrUsTeR
незнакомец
 
Сообщения: 4
Зарегистрирован: 03.11.2008 00:18:41

Re: Canvas.TextOut и истинный цвет

Сообщение Павел Ишенин » 11.04.2009 21:19:53

Значит используется антиалиасинг, который к сожалению через библиотеку pango (что используется в gtk2) никак не устанавливается.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Canvas.TextOut и истинный цвет

Сообщение TrUsTeR » 11.04.2009 22:29:27

Спасибо за ответ. :) Значит придется опять костыли мудрить... (
P.S. хотя есть подозрения, ведь под win32/Gtk2 такого не происходит.
TrUsTeR
незнакомец
 
Сообщения: 4
Зарегистрирован: 03.11.2008 00:18:41

Re: Canvas.TextOut и истинный цвет

Сообщение Павел Ишенин » 12.04.2009 14:58:52

Посмотрите на код библиотеки pango. Там для win32 выбирается антиалисинг если в системе включена какая-то опция.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32

Рейтинг@Mail.ru