java更改图片大小示例分享


在Java中,更改图片大小(即调整其分辨率)通常涉及图像处理库,如Java的`ImageIO`类与`BufferedImage`类,以及可能需要的`AffineTransform`类来进行更复杂的图像变换。以下是一个简单的示例,展示如何使用Java标准库来更改图片的大小:


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

public class ResizeImage {

    public static void resizeImage(String inputImagePath, String outputImagePath, int targetWidth, int targetHeight) throws IOException {
        // 读取原始图片
        BufferedImage originalImage = ImageIO.read(new File(inputImagePath));

        // 创建一个新的BufferedImage,用于存放调整大小后的图片
        BufferedImage resizedImage = new BufferedImage(targetWidth, targetHeight, originalImage.getType());

        // 使用Graphics2D来绘制调整大小后的图片
        Graphics2D g2d = resizedImage.createGraphics();
        g2d.drawImage(originalImage, 0, 0, targetWidth, targetHeight, null);
        g2d.dispose();

        // 将调整大小后的图片写入文件
        ImageIO.write(resizedImage, "jpg", new File(outputImagePath));
    }

    public static void main(String[] args) {
        try {
            // 调用resizeImage方法,替换为你的图片路径和目标路径
            resizeImage("path/to/your/input/image.jpg", "path/to/your/output/image.jpg", 800, 600);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这段代码首先读取一个指定的图片文件,然后创建一个新的`BufferedImage`对象,其大小由`targetWidth`和`targetHeight`参数指定。之后,使用`Graphics2D`对象在这个新图像上绘制原始图像,但绘制时指定了新的大小。最后,将调整大小后的图像写入一个新的文件。

请注意,你需要将`"path/to/your/input/image.jpg"`和`"path/to/your/output/image.jpg"`替换为你自己的图片路径。此外,根据图片的原始格式,你可能需要更改`ImageIO.write`方法中的格式字符串(例如,从`"jpg"`更改为`"png"`)。