Is it possible to scale or rotate a Rectangle2D and get a new transformed Rectangle2D? I know it is possible to get a Shape or Path2D, but how to get a new Rectangle2D from a specific Affine transform that in theory return a Rectangle also?
Maybe reconstruct a new Rectangle2D from Path2D (iteration?), but how? Rectangle2D will feed the TexturePaint class anchor parameter.
methods that return a Path2D/Shape
private Path2D.Double transformRotate(Rectangle2D.Double rect) {
AffineTransform transform = new AffineTransform();
double theta=0.5;
double angle = Math.toRadians(theta);
// transform.rotate(angle, rect.x + rect.width / 2, rect.y + rect.height / 2);
transform.rotate( orientationX, orientationY, rect.x + rect.width / 2, rect.y + rect.height / 2);
return new Path2D.Double(rect, transform);
}
AffineTransform transformRect = new AffineTransform();
transformRect.rotate(orientationX, orientationY, rectFinal.getX() + rectFinal.getWidth()/2, rectFinal.getY() + rectFinal.getHeight()/2);
Shape rotatedRect = transformRect.createTransformedShape(rectFinal); //or path2D