Используя Java, как я могу сделать метод, принимающий BufferedImage, повернуть его и вернуть BufferedImage (с правильной шириной / высотой) - PullRequest
0 голосов
/ 28 ноября 2011

Я искал много примеров, каждый раз, когда я пытаюсь, мое изображение становится смещенным, а также не поворачивается в зависимости от степени, которую я ищу.

У меня есть класс, который расширяет JPanel, ирисует изображение.Этот JPanel затем помещается в мой JFrame.Мне нужно иметь метод, который, когда я нажимаю кнопку, может взять изображение JPanel, повернуть его и вернуться (с новой высотой и шириной).- Тогда я могу попросить JPanel перекрасить, используя новое изображение, и ... оно должно было повернуться.

Если кто-то может помочь мне с примером, поворота на 90 градусов и возврата с высотой =старая ширина и ширина = старая высота, это было бы удивительно!

Спасибо,

1 Ответ

2 голосов
/ 28 ноября 2011

Вот вы

Image rotatedImage = new BufferedImage(imageToRotate.getHeight(null), imageToRotate.getWidth(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) rotatedImage.getGraphics();
g2d.rotate(Math.toRadians(90.0));
g2d.drawImage(imageToRotate, 0, -rotatedImage.getWidth(null), null);
g2d.dispose();
...