我正在尝试将Rectangle2D对象旋转一个特定的theta。但是我不能这样做,因为未为Rectangle2D定义方法transform(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;
最佳答案
因为Rectangle2D
是Shape
,所以您可能正在寻找AffineTransform
方法createTransformedShape()
。引用here作为完整示例。