java中将图片旋转90度
时间: 2024-09-24 11:30:13 浏览: 33
在Java中,你可以使用多种库来旋转图片,例如`BufferedImage`、`Apache Commons Imaging`、或者`JavaFX`等。这里是一个基本的例子,使用`BufferedImage`:
```java
import javax.imageio.ImageIO;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.io.File;
import java.io.IOException;
public class ImageRotation {
public static void main(String[] args) {
try {
File original = new File("path_to_your_image.jpg");
BufferedImage image = ImageIO.read(original);
int width = image.getWidth();
int height = image.getHeight();
// 创建一个新的缓冲图像,用于存储旋转后的结果
BufferedImage rotated = new BufferedImage(height, width, BufferedImage.TYPE_INT_ARGB);
// 获取Graphics2D对象
Graphics2D g2d = rotated.createGraphics();
g2d.setTransform(new AffineTransform().rotate(Math.PI / 2, width / 2, height / 2)); // 旋转90度
// 将原始图像绘制到旋转后的图像上
g2d.drawImage(image, -height, 0, null); // 负数是为了翻转坐标轴
// 保存旋转后的图像
ImageIO.write(rotated, "jpg", new File("rotated_" + original.getName()));
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个例子中,我们首先读取原图,然后创建一个新的缓冲图像,设置旋转变换,最后将原图绘制到新图像的适当位置。记住,由于旋转后图像尺寸的变化,可能会丢失边缘像素。如果你想避免这种情况,可以参考上一个问题的答案。
阅读全文