我正在尝试用Java旋转图像。我看了类似的问题,但它们似乎没有用。我尝试使用AffineTransform
和更多建议,但他们没有成功。在网上找到了此方法,可在其中旋转图像的整个图形上下文Θdegrees
。在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度这样的硬编码角度,但是图像仍然消失了。不会带来预期的结果?