Java 图片压缩:使用 IO 和 AWT 实现高效压缩
以下是使用 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 将压缩后的图片保存到指定路径。其中,压缩质量通过参数传入,可以根据实际需求进行调整。
原文地址: https://www.cveoy.top/t/topic/jxbW 著作权归作者所有。请勿转载和采集!