java 改变图片大小
时间: 2023-10-11 07:22:51 浏览: 192
java中图片的大小改变
4星 · 用户满意度95%
Java中可以使用Image类来改变图片大小,具体步骤如下:
1. 从文件或URL中加载图像,使用ImageIO类的read方法。
2. 创建一个新的BufferedImage对象,设置其宽度和高度为所需的大小。
3. 调用getScaledInstance方法获取原始图像的缩放版本。
4. 使用Graphics类的drawImage方法将缩放版本绘制到新的BufferedImage对象中。
5. 将新的BufferedImage对象保存到文件或使用Graphics类的drawImage方法将其绘制到UI组件中。
以下是一个示例代码,可以将图片缩小为原来的1/2:
```java
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ResizeImage {
public static void main(String[] args) {
try {
// 从文件中加载原始图像
BufferedImage originalImage = ImageIO.read(new File("image.jpg"));
// 计算缩放后的图像大小
int newWidth = originalImage.getWidth() / 2;
int newHeight = originalImage.getHeight() / 2;
// 创建新的BufferedImage对象
BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
// 缩放原始图像并绘制到新的BufferedImage对象中
Graphics g = resizedImage.createGraphics();
Image scaledImage = originalImage.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
g.drawImage(scaledImage, 0, 0, null);
g.dispose();
// 保存新的BufferedImage对象到文件
ImageIO.write(resizedImage, "jpg", new File("resized_image.jpg"));
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
```
在这个示例中,我们使用了ImageIO类来加载图像,然后创建一个新的BufferedImage对象并将原始图像缩放后绘制到其中。最后,我们将新的BufferedImage对象保存到文件中。你也可以使用Graphics类的drawImage方法将其绘制到UI组件中。
阅读全文