Spec-Zone .ru
спецификации, руководства, описания, API
|
На Java 2D™ текстовый рендеринг можно влиять, представляя подсказки.
Вспомните, что самый важный текстовый метод рисунка является следующим:
Graphics.drawString(String s, int x, int y);
Обычно, этот метод тянет каждого глифа в строке текста с чистым цветом и каждым пикселем, который "включен" в том глифе, устанавливается в тот цвет. Этот тип рисунка производит самый высокий контрастный текст, но иногда с зубчатыми (искаженными) краями.
Текстовое сглаживание является методом, используемым, чтобы пригладить края текста на экране. 2-D API Java позволяет приложениям определить, должен ли этот метод использоваться и что алгоритм использовать, применяя текст, представляющий подсказку к Graphics
.
Наиболее распространенная подсказка рендеринга смешивает передний план (текст) цвет с экранными фоновыми пикселями в краях текста. Чтобы запросить эту подсказку, приложение должно вызвать следующее:
graphics2D.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
Следующее число иллюстрирует сглаживающуюся возможность.
Если использующийся неуместно этот метод может заставить текст казаться чрезмерно нечетким. В таких случаях лучшая подсказка, чтобы использовать является следующим:
graphics2D.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
Этот метод автоматически использует информацию в шрифте непосредственно, чтобы решить, использовать ли сглаживание или использовать чистые цвета.
У жидкокристаллических дисплеев есть свойство, что Java, который 2-D API может использовать, чтобы произвести текст, который не является столь же нечетким как типичное сглаживание, но является более четким в небольших размерах. Запрашивать, чтобы текст быть оттянутым, используя субпиксельный жидкокристаллический текстовый режим для типичного жидкокристаллического дисплея, приложение вызвал следующее:
graphics2D.setRenderingHint( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
Пример кода, представленный ниже, иллюстрирует сглаживающуюся возможность в следующем порядке:
TEXT_ANTIALIAS_GASP
подсказка. VALUE_TEXT_ANTIALIAS_OFF
. TEXT_ANTIALIAS_LCD_HRGB
подсказка.Если Вы не видите, что апплет работает, Вы должны установить
Полный код для этого апплета находится в AntialiasedText.java
.