Я пытаюсь повернуть изображение в Java. Я посмотрел на похожие вопросы, но они, похоже, не работают. Я пытался использовать AffineTransform
и другие предложения, но они не помогли. Я нашел это метод онлайн, где вы вращаете весь графический контекст вашего изображения Θ degrees
.Below image
имеет тип BufferedImage
внутри класса. Я вызываю rotate
один раз в конструкторе, так как я хочу, чтобы вращение происходило один раз в Я рассчитываю угол. Мои изображения PNG
.
private void rotate(double degrees){
ImageIcon icon = new ImageIcon(image);
BufferedImage blankCanvas = new BufferedImage(icon.getIconWidth(),icon.getIconHeight(),BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = blankCanvas.createGraphics();
g2d.rotate(Math.toRadians(degrees));
g2d.drawImage(blankCanvas,0,0,null);
this.image = blankCanvas;
}
Когда я пытаюсь использовать этот код, изображения просто исчезают. Я подумал, что, возможно, угол, который я рассчитал, был неверным, но я попытался использовать жестко закодированные углы, такие как 45,90 градусов, и все же изображение исчезло. У вас есть идеи, почему этот код не ' не принесет ожидаемых результатов?