java bufferimage 旋转90°
时间: 2023-10-11 14:18:55 浏览: 118
您可以使用 `AffineTransform` 类来旋转 `BufferedImage` 对象。以下是一个简单的示例代码,可以将一个 `BufferedImage` 对象逆时针旋转90度:
```java
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
public class ImageRotationDemo {
public static BufferedImage rotate90Degrees(BufferedImage image) {
int width = image.getWidth();
int height = image.getHeight();
BufferedImage rotatedImage = new BufferedImage(height, width, image.getType());
Graphics2D g2d = rotatedImage.createGraphics();
AffineTransform at = new AffineTransform();
at.translate(height, 0);
at.rotate(Math.toRadians(90));
g2d.setTransform(at);
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
return rotatedImage;
}
}
```
在该示例中,我们使用 `AffineTransform` 类来旋转图像。首先,我们创建一个 `BufferedImage` 对象 `rotatedImage`,它的宽度和高度与原始图像的高度和宽度相反。然后,我们创建一个 `Graphics2D` 对象 `g2d`,并将 `AffineTransform` 对象应用于该对象。最后,我们使用 `g2d.drawImage` 方法将原始图像绘制到旋转的图像上,并返回旋转的图像。
阅读全文