Notes |
|
(0018693)
|
zed
|
03-05-2019 08:11
|
|
К слову, о кэшировании: в SunCalc надписи кэшируются и рендерятся методом RenderText, но я заметил, что текст получается немного не таким, как, например, у линейки, где текст рендерится без кэширования методом TextOut.
А ещё, когда я попытался использовать TextOut для кэширования, у меня никак не вышло сделать полупрозрачную надпись - шрифт расползается.
Как мне кажется, TextOut даёт более лучший результат и если его не получится нормально кэшировать, то с повсеместным переходом на предлагаемый интерфейс и метод RenderText, качество шрифтов ухудшится. |
|
|
|
Ну, если я правильно все понимаю, то RenderText только добавляет возможность делать надписи произвольного цвета и с прозрачностью. Ну и еще антиалиайзинг позволяет сделать. За счет копирования из временной битмапки.
> А ещё, когда я попытался использовать TextOut для кэширования, у меня никак не вышло сделать полупрозрачную надпись - шрифт расползается.
Ну, всегда можно поставить AALevel = -1 и использовать RenderText.
Можно вообще свой сделать, который будет обводку делать нормальную, а не двумя выводами RenderText. Это будет правильнее. В любом случае, вся эта кухня будет скрыта, а для вывода на экран достаточно будет просто накладывать готовую битмапку.
>Как мне кажется, TextOut даёт более лучший результат
Подозреваю, что это только на свежих виндах, а на XP все может быть не так радужно, но нужно смотреть. |
|
|
(0018695)
|
zed
|
03-05-2019 11:31
|
|
На XP выглядит одинаково, т.к. там нету сглаживания, а вот в Win7 и выше TextOut рисует нормально, а RenderText без сглаживания и изменение AALevel не даёт такого же результата.
Эта кухня может быть скрыта только при отказе от TextOut, чего не хотелось бы. Я бы наоборот хотел все RenderText заменить на TextOut. |
|
|
|
> RenderText без сглаживания и изменение AALevel не даёт такого же результата.
А ты пробовал AALevel = -1 ставить? Там включается штатное сглаживание и только добавляется установка альфы.
Посмотри исходники RenderText. Там при AALevel = -1 почти ничего не делается с картинкой. ИМХО должно быть как-раз то чего ты хочешь. Разве что если там применяется субпиксельное сглаживание, тогда могут быть чудеса. |
|
|
(0018697)
|
zed
|
03-05-2019 12:22
|
|
Исходники я конечно же смотрел и с AALevel пробовал все допустимые значения - всё не то и со штатным сглаживанием не сравнится.
Сейчас скриншотов добавлю. |
|
|
|
К скриншотам комментариев не хватает, где там RenderText, а где TextOut |
|
|
(0018699)
|
zed
|
03-05-2019 12:50
|
|
|
|
|
Что называется "Вы не поверите", но мне нижние надписи нравятся больше :)
Видимо я таки не люблю сглаживание. |
|