通过读取图片,使用BufferedImage的getScaledInstance方法将图片处理成300*300像素的图片后重新输出
import java.awt.Image;
import java.io.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import java.util.Iterator;
import java.util.List;
public class ImageResizeExample {
public static void main(String[] args) throws IOException {
String imagePath = "D:\\HuaweiMoveData\\Users\\wxh\\Desktop\\image\\2.jpg";
// 读取图片数据
BufferedImage image = ImageIO.read(new File(imagePath));
// 缩放图片
BufferedImage resizedImage = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
resizedImage.getGraphics().drawImage(image.getScaledInstance(300, 300, Image.SCALE_SMOOTH), 0, 0, null);
// 写入缩放后的图片到本地路径
File outputFile = new File("D:\\HuaweiMoveData\\Users\\wxh\\Desktop\\image\\test.png");
ImageIO.write(resizedImage, "png", outputFile);
}
}