在 Java 中压缩大图片的方法有很多,以下是其中一种常用的方法:

  1. 使用 ImageIO 类读取图片并获取图片的宽度和高度。

  2. 根据需要压缩的比例计算出压缩后的宽度和高度。

  3. 创建一个 BufferedImage 对象,并使用 Graphics2D 类的 drawImage() 方法将原始图片绘制到 BufferedImage 中。

  4. 使用 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 格式。您可以根据需要调整压缩比例和输出格式。

java 压缩大图片

原文地址: https://www.cveoy.top/t/topic/bRh4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录