图片压缩代码Java
时间: 2023-02-02 13:12:26 浏览: 73
图片压缩的 Java 代码可以使用 Image IO 和 BufferedImage 类实现。
以下是一个简单的代码示例:
```
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) throws IOException {
File input = new File("input.jpg");
BufferedImage image = ImageIO.read(input);
File output = new File("output.jpg");
ImageIO.write(image, "jpg", output);
}
}
```
在这个示例中,通过读入一个输入文件(input.jpg)并将其写入输出文件(output.jpg),可以实现对图像的压缩。
相关问题
java 图片压缩代码
在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()`方法中的参数。
java 代码 图片压缩
图片压缩可以使用 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 类来设置压缩质量并对图片进行压缩。
希望这段代码能帮到你!