使用裁剪旋转图像

时间:2013-11-11 09:38:42

标签: java rotation transform

我有一张带有softcrop的图像。

即 图像边界是宽度3和高度5。 在图像中,我在(x,y)1,4处有一个柔和的裁剪,边界宽度为1和高度为1.

将图像旋转90度后,如何获得裁剪的新位置(x,y)?

也许是AffineTransform?

1 个答案:

答案 0 :(得分:1)

是的,你可以使用AffineTransform。

您可以使用AffineTransform.getRotateInstance和AffineTransform#transform(Point2D,Point2D)。

像这样使用它:

AffineTransform transform = AffineTransform.getRotateInstance(Math.PI / 2.0, width / 2.0, height / 2.0);
Point2D.Double point = new Point2D.Double(1, 4);
Point2D.Double result = new Point2D.Double();
transform.transform(point, result);

请注意,柔和裁剪区域的左上角将不再是旋转后的左上角,而是左下角。