以下是使用 Java IO 和 AWT 库实现图片压缩的示例代码:

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class ImageCompressor {
    
    /**
     * 压缩图片并保存到指定路径
     * @param srcPath 源图片路径
     * @param destPath 目标图片路径
     * @param quality 压缩质量(0.0-1.0)
     * @throws IOException
     */
    public static void compress(String srcPath, String destPath, float quality) throws IOException {
        File srcFile = new File(srcPath);
        BufferedImage srcImage = ImageIO.read(srcFile);
        Image destImage = srcImage.getScaledInstance(srcImage.getWidth(), srcImage.getHeight(), Image.SCALE_SMOOTH);
        BufferedImage destBufferedImage = new BufferedImage(srcImage.getWidth(), srcImage.getHeight(), BufferedImage.TYPE_INT_RGB);
        destBufferedImage.getGraphics().drawImage(destImage, 0, 0, null);
        ImageIO.write(destBufferedImage, 'JPEG', new File(destPath));
    }
    
    public static void main(String[] args) throws IOException {
        String srcPath = 'test.jpg';
        String destPath = 'test_compressed.jpg';
        float quality = 0.5f;
        compress(srcPath, destPath, quality);
    }
}

该示例代码通过 Java IO 读取源图片,使用 Java AWT 对图片进行压缩,并使用 Java IO 将压缩后的图片保存到指定路径。其中,压缩质量通过参数传入,可以根据实际需求进行调整。

Java 图片压缩:使用 IO 和 AWT 实现高效压缩

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

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