要压缩照片为指定像素大小,可以使用Java的图像处理库ImageIO和BufferedImage。下面是一个示例代码,可以将照片压缩为指定的像素大小,并返回一个BufferedImage对象:

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

public class ImageCompressor {

    public static BufferedImage compressImage(File inputFile, int targetWidth, int targetHeight) {
        try {
            // 读取原始图片
            BufferedImage originalImage = ImageIO.read(inputFile);

            // 创建目标大小的缩略图
            BufferedImage resizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
            Graphics2D graphics2D = resizedImage.createGraphics();
            graphics2D.drawImage(originalImage, 0, 0, targetWidth, targetHeight, null);
            graphics2D.dispose();

            return resizedImage;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        File inputFile = new File("input.jpg"); // 输入照片的路径
        int targetWidth = 800; // 目标宽度
        int targetHeight = 600; // 目标高度

        BufferedImage compressedImage = compressImage(inputFile, targetWidth, targetHeight);

        // 保存压缩后的图片
        try {
            ImageIO.write(compressedImage, "jpg", new File("output.jpg")); // 输出照片的路径
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,compressImage函数接受一个File对象、目标宽度和目标高度作为参数。它首先读取原始图片,然后创建一个目标大小的缩略图,并将原始图片绘制到缩略图上。最后,它返回缩略图的BufferedImage对象。

main函数中,我们可以指定输入照片的路径、目标宽度和目标高度。通过调用compressImage函数,我们可以得到压缩后的图片,并将其保存到指定路径中

Java如何压缩照片为指定像素大小使用函数返回一个BufferedImage

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

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