0

ソフトクロップの画像があります。

つまり、画像の境界は幅 3 と高さ 5 です。画像では、(x,y) 1,4 にソフトクロップがあり、幅 1 と高さ 1 の境界があります。

画像を 90 度回転させた後、クロップの新しい位置 (x,y) を取得するにはどうすればよいですか?

おそらくAffineTransform?

4

1 に答える 1

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);

ソフトクロップ領域の左上の点は、回転後の左上の点ではなく、左下の点になることに注意してください。

于 2013-11-11T10:17:56.763 に答える