java压缩image对象大小
时间: 2023-08-04 16:37:16 浏览: 96
你可以使用Java的ImageIO类来压缩图片大小。下面是一个基本的示例代码:
```java
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.Image;
import java.awt.Graphics2D;
public class ImageCompressionExample {
public static void main(String[] args) {
try {
File input = new File("input.jpg");
BufferedImage image = ImageIO.read(input);
// 压缩后的宽度和高度
int newWidth = 500;
int newHeight = 500;
// 创建一个缩小后的图片对象
Image newImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
BufferedImage bufferedImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
// 在缩小后的图片对象上绘制原始图片
Graphics2D graphics = bufferedImage.createGraphics();
graphics.drawImage(newImage, 0, 0, null);
graphics.dispose();
// 保存缩小后的图片
File compressedImageFile = new File("output.jpg");
ImageIO.write(bufferedImage, "jpg", compressedImageFile);
} catch (IOException ex) {
System.out.println("Error occurred while compressing image: " + ex.getMessage());
}
}
}
```
在这个代码示例中,我们首先读取原始图像,然后指定缩小后的宽度和高度。然后,我们使用getScaledInstance()方法创建一个缩小后的图片对象,并使用BufferedImage创建一个新的图像。最后,我们在新的图像上绘制原始图像,并将其保存到磁盘上。
阅读全文