2013-03-19 132 views
3

假设我应用。查阅全文二维变换到GC:2D转换 - 转换坐标与所述变换

Transform trRotated = new Transform(display); 
    trRotated.rotate(-90); 
    gc.setTransform(trRotated); 

系统逆时针旋转坐标 - X ACHSE指向上方,Y ACHSE指向右侧。

假设我想处理坐标,就好像Y会指向下,X会指向右边。

E.g.我想在转换之前输入绿点的坐标(2,3)。 如果考虑转换,它应该转换为坐标(-3,2)。

问题: 我必须坐标手动转换或者是有SOM的方式做转换自动的,则是通过提供transform

enter image description here

+0

我不知道如果我在正确的方式的问题,而是借鉴任何你想要的到GC上下文,然后设置转换,在您通过设置“转换”实例选择时,将转换结果。无需手动转换任何内容,只需使用转换即可。 – Sorceror 2013-03-20 13:24:07

回答

0

我不知道什么是旋转功能,你需要的上下文。

但是,对于旋转2θ角的矩形(如Math.toRadians(90))可以使用:

AffineTransform transform = new AffineTransform(); 
transform.rotate(theta, rect.getX() + rect.width/2, rect.getY() + rect.height/2); 
g2.transform(transform);