SWT中的2D变换 - 用Transform转换坐标

时间:2013-03-19 09:03:18

标签: java swt 2d transform

假设我在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)这是坐标。

问题: 我是否必须手动转换坐标,或者是否有自动转换的方法,可能是使用可用的transform

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定你需要什么样的旋转功能。

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

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