转换Rectangle2D java

use*_*093 1 java swing transform

我试图通过特定的theta旋转Rectangle2D对象.但是我不能这样做,因为Rectangle2D的方法转换(AffineTransform)是未定义的.有关如何做到这一点的任何想法?谢谢.

Rectangle2D.Double currentVehic = new Rectangle2D.Double(bottomLeft[0], bottomLeft[1],vehicWidth, vehicHeight);
    // Rotate the vehicle perimeter about its center
    AffineTransform rotate = new AffineTransform();
    //Rectangle2D rotatedVehic = AffineTransform.getRotateInstance(theta,x,y);
    rotate.setToRotation(theta, x, y);
    currentVehic.transform(rotate);

    return currentVehic;
Run Code Online (Sandbox Code Playgroud)

tra*_*god 5

因为a Rectangle2D是a Shape,你可能正在寻找AffineTransform方法createTransformedShape().这里引用一个完整的例子.