9

我正在用 Java 中的 Graphics2D 进行试验。但像往常一样,我被困住了。: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);

是否可以???我知道一定有某种方法,但我无法弄清楚。请帮忙。

4

2 回答 2

17

您要做的是恢复转换。

尝试

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

g.setTransform(oldXForm); // Restore transform
g.drawLine(...);
于 2011-07-13T15:43:00.463 回答
5

调用getTransform()(给你一个副本),旋转,绘制,然后使用setTransform()来恢复状态。文档setTransform()甚至有一个例子。

于 2011-07-13T15:45:21.120 回答