如何在中心旋转图像? 此代码有效,但它会旋转屏幕左上角的图像:
AffineTransform oldtrans = new AffineTransform();
AffineTransform trans = new AffineTransform();
trans.setToIdentity();
trans.rotate(Math.toRadians(angle));
trans.translate(_x-(width/2), _y-(height/2));
g.setTransform(trans);
g.drawImage(this.getImage(), (int)_x, (int)_y, (int)width, (int)height, null);
trans.setToIdentity();
g.setTransform(oldtrans);
请帮助!!!
答案 0 :(得分:7)
你应该在rotate()调用中再给出两个参数:
affineTransform.rotate(Math.toRadians(angle), m_imageWidth/2, m_imageHeight/2);
答案 1 :(得分:1)
从字面上看,你已到了一半。你要做的是两个翻译。有点像:
希望这适合你。