JAVA兑现图片处理缩略图-三种开源实现方式
代码实现如下:
第一个开源: Thumbnailator
long begin = System.currentTimeMillis();
try {
Thumbnails.of(new File("E:\\test\\photos\\亲密敌人.jpg"))
.size(300, 200)
// .rotate(90)
.outputQuality(0.8f)
.toFile(new File("E:\\000.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println(end - begin);
第二个开源: java-image-scaling
long begin2 = System.currentTimeMillis();
File fileOne = new File("E:\\test\\photos\\阿凡达.jpg");
File hd_ad = new File("E:\\test\\data\\高清页面-广告图片.jpg");
try {
BufferedImage bufferedImage11 = new ThumpnailRescaleOp(1104,540).doFilter(ImageIO.read(fileOne),null,1104, 540);
ImageIO.write(bufferedImage11, "jpg", hd_ad);
} catch (IOException e) {
e.printStackTrace();
}
long end2 = System.currentTimeMillis();
System.out.println(end2-begin2);
第三个开源: EasyImage
long begin3 = System.currentTimeMillis();
Image image2 = new Image("E:\\test\\photos\\亲密敌人.jpg");
image2.resize(290, 400);
image2.saveAs("e:\\222.jpg");
long end3 = System.currentTimeMillis();
System.out.println(end3 - begin3);
//融合两张图片
Image image3 = new Image("E:\\test\\photos\\亲密敌人.jpg");
image3.combineWithPicture("E:\\test\\photos\\泰坦尼克号.jpg");
image3.saveAs("E:\\333.jpg");
//强调图像的某个部分:
Image image4 = new Image("E:\\test\\photos\\亲密敌人.jpg");
image4.emphasize(250, 200, 2300, 500);
image4.saveAs("E:\\444.jpg");