Используя Java, как я могу сделать метод, принимающий BufferedImage, повернуть его и вернуть BufferedImage (с правильной шириной / высотой)
Я искал много примеров, каждый раз, когда я пытаюсь, мое изображение становится смещенным, а также не поворачивается в зависимости от степени, которую я ищу.
У меня есть класс, который расширяет JPanel и рисует изображение. Этот JPanel затем помещается в мой JFrame. Мне нужно иметь метод, который, когда я нажимаю кнопку, может взять изображение JPanel, повернуть его и вернуться (с новой высотой и шириной). - Тогда я могу попросить JPanel перекрасить, используя новое изображение, и... оно должно было повернуться.
Если бы кто-нибудь мог помочь мне с примером поворота на 90 градусов и возврата с высотой = старая ширина и ширина = старая высота, это было бы удивительно!
Спасибо,
1 ответ
Решение
Вот ты где
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();