我有一张图片,我可以像这样在图像上画一个矩形:
Rectangle rect = new Rectangle(x,y,width,height);
graphics2D.draw(rect);
然后我旋转图像,绘制的矩形也按预期旋转。但是现在我如何获得对新旋转的Rectangle的引用?我需要旋转的Rectangle的属性,如Point,width,height ....
我不知道Graphics2D有像getShape()这样的方法吗?此外,调用其draw(Rectangle)方法时传递给Graphics2D的矩形不会改变。
有什么想法吗?
答案 0 :(得分:1)
您可以使用AffineTransform类来完成。
AffineTransform transform = new AffineTransform();
transform.rotate(Math.PI/2);
Shape transformed = transform.createTransformedShape(shape);
但它只会产生你可以用来绘画的形状。如果您需要旋转矩形的精确点,则需要单独转换每个点:
transform.transform(point_before, point_after);