java实现高清不失真图片压缩
从图像文件创建缩略图
Thumbnails.of(new File("original.jpg")) .size(160, 160) .toFile(new File("thumbnail.jpg"));
在这个示例中,来自 Origal.jpg 的图像被调整大小,然后保存到 thumbnail.jpg。另外,Thumbnailator 将接受文件名作为字符串。不需要使用 File 对象指定图像文件:
创建一个带旋转和水印的缩略图
Thumbnails.of(new File("original.jpg")) .size(160, 160) .rotate(90) .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f) .outputQuality(0.8) .toFile(new File("image-with-watermark.jpg"));
二 android GitHub - WGDrzjz/ImageCompress: 图片压缩工具,基于libjpeg-turbo封装,arm64-v8a和armeabi-v7a都可以正常使用。
在Android项目中使用
Thumbnailator虽然是基于Java的,但是它用到了java.awt.*里面的类,在Android中无法访问到这些类,而且将java.awt包导入Android项目的成本也比较高,所以Thumbnailator尽管优秀,但可惜无法应用于移动端。
Android中比较知名的图片压缩框架是Luban和Compressor。Luban的压缩算法听说是根据微信图片压缩逆推的;Compressor则支持Kotlin的协程。
Luban开源地址:https://github.com/Curzibn/Luban
Compressor开源地址:https://github.com/zetbaitsu/Compressor
Compressor使用方便且API比较简单,下面介绍Compressor的简单使用:
来源地址:https://blog.csdn.net/wushijun5200/article/details/129053002