java实现高清不失真图片压缩

1.从图像文件创建缩略图

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));

在这个示例中,来自 Origal.jpg 的图像被调整大小,然后保存到 thumbnail.jpg。另外,Thumbnailator 将接受文件名作为字符串。不需要使用 File 对象指定图像文件:

2.创建一个带旋转和水印的缩略图

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的简单使用:
————————————————
版权声明:本文为CSDN博主「wushijun5200」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wushijun5200/article/details/129053002

作者:Jeebiz  创建时间:2023-07-05 10:03
最后编辑:Jeebiz  更新时间:2024-03-12 09:16