Читаем Java 7 полностью

Таблица 9.2. Методы визуализации и их значения
МетодЗначение
KEY ANTIALIASINGРазмывание крайних пикселов линий для гладкости изображения; три значения, задаваемые константами: VALUE ANTIALIAS DEFAULT, VALUE ANTIALIAS ON, VALUE ANTIALIAS OFF
KEY TEXT ANTIALIASINGТо же для текста. Константы: VALUE TEXT ANTIALIASING DEFAULT, VALUE TEXT ANTIALIASING ON, VALUE TEXT ANTIALIASING OFF. Для LCD-мониторов константы: value text antialias gasp,VALUE TEXT ANTIALIAS LCD HRGB,VALUE TEXT ANTIALIAS LCD HBGR,VALUE TEXT ANTIALIAS LCD VRGB,VALUE TEXT ANTIALIAS LCD VBGR
KEY RENDERINGТри типа визуализации. Константы: VALUE RENDER SPEED, VALUE RENDER QUALITY, VALUE RENDER DEFAULT
KEY COLOR RENDERINGТо же для цвета. Константы: VALUE COLOR RENDER SPEED, VALUE COLOR RENDER QUALITY, VALUE COLOR RENDER DEFAULT
KEY ALPHA INTERPOLATIONПлавное сопряжение линий. Константы:VALUE ALPHA INTERPOLATION SPEED, VALUE ALPHA INTERPOLATION QUALITY, VALUE ALPHA INTERPOLATION DEFAULT
KEY INTERPOLATIONСпособы сопряжения. Константы: VALUE INTERPOLATION BILINEAR, VALUE INTERPOLATION BICUBIC,VALUE INTERPOLATION NEAREST NEIGHBOR
KEY DITHERINGЗамена близких цветов. Константы: VALUE DITHER ENABLE, VALUE DITHER DISABLE, VALUE DITHER DEFAULT
KEY ALPHA INTERPOLATIONСпособ альфа-интерполяции. Константы:VALUE ALPHA INTERPOLATION DEFAULT, VALUE ALPHA INTERPOLATION QUALITY, VALUE ALPHA INTERPOLATION SPEED
KEY STROKE CONTROLСпособ рисования. Константы: VALUE STROKE DEFAULT, VALUE STROKE NORMALIZE, VALUE STROKE PURE
Не все графические системы обеспечивают выполнение этих методов, поэтому задание указанных атрибутов не означает, что определяемые ими методы будут применяться на самом деле.Вот как может выглядеть начало метода paint () с указанием методов улучшения визуализации:

public void paint(Graphics gr){

Graphics2D g = (Graphics2D)gr;

g.setRenderingHint(RenderingHints.KEY ANTIALIASING,

RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY RENDERING,

RenderingHints.VALUE_RENDER_QUALITY);

// Продолжение метода

Для того чтобы как можно лучше связать визуализацию с настройками дисплея, определено свойство "awt.font.desktophints", хранящее таблицу типа Map с методами улучшения визуализации, имеющимися в настройках дисплея. Воспользоваться этим свойством можно так:

public void paint(Graphics gr){

Graphics2D g = (Graphics2D)gr;

Toolkit tk = Toolkit.getDefaultToolkit();

Map map = (Map)(tk.getDesktopProperty("awt.font.desktophints")); if (map != null) g.addRenderingHints(map);

// Продолжение метода

}

Упражнение

5. Перепишите предыдущие упражнения средствами Java 2D.

Заключение

В этой главе мы, разумеется, не смогли подробно разобрать все возможности Java 2D. Мы не коснулись моделей задания цвета и смешивания цветов, печати графики и текста, динамической загрузки шрифтов, изменения области рисования. В главе 20 будут рассмотрены средства Java 2D для работы с изображениями, в главе 23 — средства печати.

В документации Java SE, в каталоге docs/technotes/guides/2d/spec, есть руководство Programmer's Guide to the Java 2D API с обзором всех возможностей Java 2D. Там помещены ссылки на руководства и пособия по Java 2D. В каталоге demo/jfc/Java2D/ приведена демонстрационная программа и исходные тексты программ, использующих Java 2D.

Вопросы для самопроверки

1. Что такое цвет в библиотеке AWT?

2. Что такое шрифт в библиотеке AWT?

3. Что такое графический контекст?

4. Как нарисовать треугольник?

5. Как нарисовать окружность?

6. Как преобразовать чертеж: повернуть его, уменьшить или увеличить?

7. Можно ли писать текст сверху вниз или справа налево?

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных