Свойства формы из изображения в Swing - PullRequest
1 голос
/ 15 февраля 2011

У меня есть изображение, и я могу нарисовать прямоугольник на изображении следующим образом:

Rectangle rect = new Rectangle(x,y,width,height);
graphics2D.draw(rect);

Затем я поворачиваю изображение, и нарисованный прямоугольник также поворачивается, как и ожидалось.Но теперь, как я могу получить ссылку на недавно повернутый прямоугольник?Мне нужны свойства повернутого прямоугольника, такие как Point, width, height ....

Я не вижу, что у Graphics2D есть метод, подобный getShape ()?Кроме того, прямоугольник, передаваемый в Graphics2D при вызове его метода draw (Rectangle), не изменяется.

Есть идеи?

1 Ответ

1 голос
/ 15 февраля 2011

Вы можете сделать это, используя AffineTransform class.

AffineTransform transform = new AffineTransform();
transform.rotate(Math.PI/2);
Shape transformed = transform.createTransformedShape(shape);

Но это даст вам только форму, которую вы можете использовать для рисования.Если вам нужны точные точки повернутого прямоугольника, вам нужно преобразовать каждую точку отдельно:

transform.transform(point_before, point_after);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...