Use a rotated rectangle with AffineTransform to calculate new bounds.