Java logra la compresión de imágenes de alta definición sin distorsión

Java logra la compresión de imágenes de alta definición sin distorsión

1. Crea miniaturas a partir de archivos de imagen.

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

En este ejemplo, se cambia el tamaño de la imagen de Origal.jpg y luego se guarda en miniatura.jpg. Además, Thumbnailator aceptará nombres de archivos como cadenas. No es necesario utilizar un objeto Archivo para especificar el archivo de imagen:

2. Crea una miniatura con rotación y marca de agua.

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"));

2 android   GitHub - WGDrzjz/ImageCompress: herramienta de compresión de imágenes, basada en el paquete libjpeg-turbo, tanto arm64-v8a como armeabi-v7a se pueden usar normalmente.

Aunque el uso de Thumbnailator en proyectos de Android
se basa en Java, utiliza clases en java.awt.*, a las que no se puede acceder en Android. Además, el costo de importar paquetes java.awt a proyectos de Android es relativamente alto, por lo que aunque Thumbnailator es excelente , lamentablemente no se puede aplicar a dispositivos móviles.

Los marcos de compresión de imágenes más conocidos en Android son Luban y Compressor. Se dice que el algoritmo de compresión de Luban se deriva de forma inversa basándose en la compresión de imágenes de WeChat; Compressor admite la rutina de Kotlin.

Dirección de código abierto de Luban: https://github.com/Curzibn/Luban

Dirección de código abierto del compresor: https://github.com/zetbaitsu/Compressor

Compressor es fácil de usar y su API es relativamente simple. Aquí hay una breve introducción al uso simple de Compressor:
 

Supongo que te gusta

Origin blog.csdn.net/wushijun5200/article/details/129053002
Recomendado
Clasificación