java实现image图片压缩大小
时间: 2024-01-20 09:03:32 浏览: 222
Java可以使用Java2D库实现图片压缩大小。以下是一个简单的示例代码:
```java
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageCompressor {
public static void main(String[] args) {
try {
File input = new File("input.jpg");
BufferedImage image = ImageIO.read(input);
// 设置压缩后的图片尺寸
int newWidth = 800;
int newHeight = 600;
// 创建缩略图
BufferedImage resized = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g = resized.createGraphics();
g.drawImage(image, 0, 0, newWidth, newHeight, null);
g.dispose();
// 输出压缩后的图片
File output = new File("output.jpg");
ImageIO.write(resized, "jpg", output);
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
```
在上面的代码中,我们首先读取输入文件,然后设置压缩后的图片尺寸。这里我们将图片压缩到800x600的尺寸。
接着,我们创建一个新的BufferedImage对象,将原始图片绘制到这个对象上,压缩到指定的尺寸。最后,我们将压缩后的图片输出到文件中。
需要注意的是,这种方式只是简单地压缩了图片的尺寸,可能会导致图片失真。如果需要更高质量的压缩,可以考虑使用其他的压缩算法。
阅读全文