Java将图片根据固定尺寸裁剪

279 阅读1分钟

大家好,我是Joy,先看张图醒醒眼,废话不说,开干!

场景

需要将图片进行固定尺寸裁剪,然后再对图片进行其他的操作,但是这种方法会损失图片的清晰度。

代码
String path = "D:\image\position\002.png";
// 读取图片
BufferedImage templateImage = ImageIO.read(new File(path));
// 固定长度压缩
int height = 224;
int width = 224;
// 压缩之后的长度和宽度
BufferedImage finalImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
finalImage.getGraphics().drawImage(templateImage.getScaledInstance(width, height, java.awt.Image.SCALE_SMOOTH), 0, 0, null);
// 图片输出
FileOutputStream fileOutputStream = new FileOutputStream("D:\image\position\test.png");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileOutputStream);
encoder.encode(finalImage);
fileOutputStream.close();

道阻且长,行则将至,行而不辍,未来可期。