Иллюстрированный самоучитель по Java



              

Класс AffineTransform - часть 3


Dimension d = getSize(); 

// Продолжение листинга 9.2

Метод paint () начинается с получения экземпляра

д

класса Graphics2D простым приведением аргумента gr к типу Graphics2D. Затем, методом getRotatelnstance о определяется поворот на 45° против часовой стрелки вокруг точки (250.0, 150.0). Это преобразование— экземпляр at класса AffineTransform. Метод concatenate о, выполняемый объектом at, добавляет к этому преобразованию сжатие в два раза по обеим осям координат и перенос начала координат в точку (100.0, 60.0). Наконец, композиция этих преобразований устанавливается как текущее преобразование объекта g методом setTransform().

Преобразование выполняется в следующем порядке. Сначала пространство пользователя сжимается в два раза вдоль обеих осей, затем начало координат пользователя — левый верхний угол — переносится в точку (100.0, 60.0) пространства графического устройства. Потом картинка поворачивается на угол 45° против часовой стрелки вокруг точки (250.0, 150.0).

Результат этих преобразований показан на рис. 9.3.

Рис. 9.3.

Преобразование координат




Содержание  Назад  Вперед