java imageio压缩图片
时间: 2023-08-31 15:06:05 浏览: 140
你可以使用 ImageIO 类来压缩图片。以下是一个简单的示例代码:
```java
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) throws IOException {
// 读取原始图片
BufferedImage originalImage = ImageIO.read(new File("original.png"));
// 创建压缩后的 BufferedImage 对象
BufferedImage compressedImage = new BufferedImage(originalImage.getWidth(),
originalImage.getHeight(), BufferedImage.TYPE_INT_RGB);
// 使用 ImageIO 内置的压缩工具进行压缩
ImageIO.write(compressedImage, "jpg", new File("compressed.jpg"));
System.out.println("压缩完成!");
}
}
```
在这个示例代码中,我们首先使用 `ImageIO.read` 方法读取了原始图片,然后创建了一个与原始图片大小相同的空白 BufferedImage 对象。接着,我们调用 `ImageIO.write` 方法,并指定要写入的文件类型为 "jpg",这样 ImageIO 就会自动使用 JPEG 压缩算法对图片进行压缩。最后,我们将压缩后的图片写入到文件中。
需要注意的是,在使用 ImageIO 进行图片压缩时,我们只能指定输出文件的类型,而无法控制压缩质量。如果需要更精细的控制,可以考虑使用第三方库,比如 ImageMagick。
阅读全文