java 压缩大图片
在 Java 中压缩大图片的方法有很多,以下是其中一种常用的方法:
-
使用 ImageIO 类读取图片并获取图片的宽度和高度。
-
根据需要压缩的比例计算出压缩后的宽度和高度。
-
创建一个 BufferedImage 对象,并使用 Graphics2D 类的 drawImage() 方法将原始图片绘制到 BufferedImage 中。
-
使用 ImageIO 类的 write() 方法将压缩后的图片保存到文件系统中。
以下是一个简单的 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) throws IOException {
File inputFile = new File("input.jpg");
BufferedImage inputImage = ImageIO.read(inputFile);
int inputWidth = inputImage.getWidth();
int inputHeight = inputImage.getHeight();
int outputWidth = inputWidth / 2; // 压缩比例为 50%
int outputHeight = inputHeight / 2;
BufferedImage outputImage = new BufferedImage(outputWidth, outputHeight, inputImage.getType());
Graphics2D g2d = outputImage.createGraphics();
g2d.drawImage(inputImage, 0, 0, outputWidth, outputHeight, null);
g2d.dispose();
File outputFile = new File("output.jpg");
ImageIO.write(outputImage, "jpg", outputFile);
}
}
在该示例中,我们将输入图片压缩为原始大小的一半,输出为 JPEG 格式。您可以根据需要调整压缩比例和输出格式。
原文地址: https://www.cveoy.top/t/topic/bRh4 著作权归作者所有。请勿转载和采集!