Как улучшить или настроить сглаживание шрифтов для приложений Qt?

я использую Qt 4.8 для встроенного Linux и просмотреть мое приложение на дисплее устройства, а также на рабочем столе с помощью -КЯ флаг.

Когда я использую белый шрифт над синим фоном, я чувствую, что шрифт действительно тонкий и трудно читаемый. Это происходит только на оборудовании / устройстве, потому что у нас там ограниченная битовая глубина на канал.

Причиной этого является просто расстояние между цветами: черный (0,0,0) на белый (255 255 255) имеет большее расстояние, чем белый (255 255 255) на синий (100 160 250) поэтому контраст просто меньше. Когда алгоритм сглаживания вычисляет значения между двумя цветами, внешние пиксели могут иметь значения, слишком близкие к фону. Посмотрите на пиксели в моем изображении: серый (на черном фоне) над белым фоном виден лучше, чем серый (на белом фоне) над синим фоном:

Сглаженные шрифты с разными цветами и фонами

На дисплее моего ПК все выглядит нормально. Поскольку аппаратное обеспечение устройства теряет точность цветовых каналов (от 5 до 6 бит вместо 8), эффект огромен, а шрифт выглядит некрасиво.

Что меня интересует:

  • Могу ли я что-нибудь сделать с алгоритмом сглаживания, возможно, изменить параметры, чтобы увеличить «контраст»? Например, anit-aliasing может использовать идеальный по пикселям шрифт и только «размазывать» его наружу, а не ослаблять интенсивность существующих пикселей.
  • Должен ли я использовать предварительно отрисованные шрифты в отличие от шрифтов истинного типа? Я скомпилировал Qt для встроенных с TTF поддержка и нравится, потому что таким образом у меня есть доступ к большему количеству шрифтов, но я должен использовать другой формат, такой как Qt PFA или же PFB?
  • Должен ли я просто попросить моего дизайнера дать мне другой (возможно, более толстый) шрифт или изменить цвет фона на более темный? Это, конечно, не является предпочтительным 😉

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector