Сброс объекта Graphics2D в Java - PullRequest
8 голосов
/ 13 июля 2011

Я экспериментировал с Graphics2D на Java.Но, как обычно, я застрял.: P Проблема в том, что у меня есть этот код:

Graphics2D g=(Graphics2D)(this.getGraphics()); //Inside a JFrame
g.rotate(Math.PI/8);
g.drawLine(10, 20, 65, 80);

//I want this one and all following lines to be drawn without any rotation
g.drawLine(120, 220, 625, 180);

Возможно ли это?Я знаю, что должен быть какой-то путь, но я не в состоянии понять это.Пожалуйста, помогите.

Ответы [ 2 ]

14 голосов
/ 13 июля 2011

Что вы хотите сделать, это восстановить преобразование.

Попробуйте

AffineTransform oldXForm = g.getTransform();
g.rotate(...);
g.drawLine(...);

g.setTransform(oldXForm); // Restore transform
g.drawLine(...);
4 голосов
/ 13 июля 2011

Позвоните getTransform() (дает вам копию), поверните, нарисуйте, а затем используйте setTransform() для восстановления состояния.Документы для setTransform() даже имеют пример.

...