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

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的简单使用:
 

你可能感兴趣的:(安卓开发,java)