java 图片压缩代码
时间: 2023-09-10 13:16:00 浏览: 111
在Java中,你可以使用Java的图像处理库ImageIO和BufferedImage类来实图片压缩。下面是一个示代码,演示了如何使用ImageIO和BufferedImage来压缩图片:
```java
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageCompression {
public static void main(String[] args) {
String inputFile = "path/to/your/input/image.jpg";
String outputFile = "path/to/your/output/compressed_image.jpg";
int targetWidth = 800; // 压缩后的目标宽度
int targetHeight = 600; // 压缩后的目标高度
float quality = 0.8f; // 压缩质量,范围从0到1,1表示最高质量
try {
// 读取输入图片
BufferedImage inputImage = ImageIO.read(new File(inputFile));
// 创建一个空白的目标图片
BufferedImage outputImage = new BufferedImage(targetWidth, targetHeight, inputImage.getType());
// 绘制目标图片
outputImage.getGraphics().drawImage(inputImage.getScaledInstance(targetWidth, targetHeight, BufferedImage.SCALE_SMOOTH), 0, 0, null);
// 写入输出文件
ImageIO.write(outputImage, "jpg", new File(outputFile));
System.out.println("图片压缩成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,你需要将`"path/to/your/input/image.jpg"`替换为实际的输入图片路径,将`"path/to/your/output/compressed_image.jpg"`替换为实际的输出压缩图片路径。`targetWidth`和`targetHeight`是压缩后的目标宽度和高度,你可以根据需要进行调整。`quality`表示压缩的质量,范围从0到1,1表示最高质量。根据实际情况,你可以选择其他图片格式,如PNG、GIF等,并相应地更改`ImageIO.write()`方法中的参数。
阅读全文