java 代码 图片压缩
时间: 2023-01-11 14:55:36 浏览: 79
图片压缩可以使用 java 的 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 {
// 读取图片文件
File input = new File("input.jpg");
BufferedImage image = ImageIO.read(input);
// 压缩图片
BufferedImage compressedImage = compress(image, 0.5f);
// 保存压缩后的图片
File output = new File("output.jpg");
ImageIO.write(compressedImage, "jpg", output);
}
public static BufferedImage compress(BufferedImage image, float quality) {
// 创建新的图片对象
BufferedImage compressedImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
// 设置压缩质量
java.util.Iterator<ImageWriter> iterator = ImageIO.getImageWritersByFormatName("jpg");
ImageWriter writer = iterator.next();
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionQuality(quality);
// 压缩图片
writer.setOutput(ImageIO.createImageOutputStream(compressedImage));
writer.write(null, new IIOImage(image, null, null), param);
return compressedImage;
}
}
```
在这段代码中,我们首先读取了一张图片文件,然后使用 compress() 方法对其进行压缩,最后保存压缩后的图片。compress() 方法使用 ImageIO 类来设置压缩质量并对图片进行压缩。
希望这段代码能帮到你!
阅读全文