需求
对客户上传的图片进行压缩,方便前端展示加载速度效果
已知图片为jpg,可能png等主流图片格式,基本为手机拍照或者是相机拍照的实体照片。照片分辨率普遍过大(像素垃圾图不清晰但文件大),压缩策略修改图片大小,然后进行”无损压缩“。需求网站为面向微信的小程序页面,800*600的分辨率应该够用。
依赖
1 2 3 4 5 6 7 8 9 10 11 12
| <dependency> <groupId>org.jpedal</groupId> <artifactId>OpenViewerFX</artifactId> <version>6.6.14</version> </dependency>
<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.17</version> </dependency>
|
代码
1 2 3 4 5 6 7 8 9 10
| File dest = new File(applicationConfig.getUploadDir() + filePath);
Thumbnails.of(dest).size(800,600).toFile(dest);
PngCompressor.compress(dest,dest);
|
参考