可以自定义大小和像素来进行图片压缩的Android压缩库

老规矩 先上依赖


Add it in your root build.gradle at the end of repositories:

allprojects {

        repositories {

                ...   

                maven { url 'https://jitpack.io' }

        }

}

dependencies {

            implementation 'com.github.asnhkl1:X-CompressImage:1.0.1'

    }

背景:

对于一些需要对图片进行定制化压缩的场景,如必须图片必须多少多少K以下,或者分辨率有要求的场景。开发此库。

你可以这样用:

CompressConfig  为建造模式去设置参数


CompressConfig compressConfig = CompressConfig.builder()

                .setUnCompressMinPixel(1000) // 最小像素不压缩,默认值:1000


                .setUnCompressNormalPixel(2000) // 标准像素不压缩,默认值:2000


                .setMaxPixel(1200) // 长或宽不超过的最大像素 (单位px),默认值:1200


                .setMaxSize(200 * 1024) // 压缩到的最大大小 (单位B),默认值:200 * 1024 = 200KB


                .enablePixelCompress(true) // 是否启用像素压缩,默认值:true


                .enableQualityCompress(true) // 是否启用质量压缩,默认值:true


                .enableReserveRaw(false) // 是否保留源文件,默认值:true


                .setCacheDir(path) // 压缩后缓存图片路径,默认值:Constants.COMPRESS_CACHE


                .setShowCompressDialog(true) // 是否显示压缩进度条,默认值:false


                .create();


如果你仅仅只是压缩图片  我们给有默认的参数使用getDefaultConfig()

        this.unCompressMinPixel =1000;

        this.unCompressNormalPixel =2000;

        this.maxPixel =1200;

        this.maxSize =204800;

        this.enablePixelCompress =true;

        this.enableQualityCompress =true;

        this.enableReserveRaw =true;

下边就是使用了 。很简单 ,传参加回调

     CompressImageManager.build(this,compressConfig, photos, new CompressImage.CompressListener() {


            @Override


            public void onCompressSuccess(ArrayList var1) {


                Log.i("imageCompress","success");


              //do what you want to do


            }


            @Override


            public void onCompressFailed(ArrayList var1, String var2) {


                Log.e("imageCompress","false",null);


            }


        }).compress();



git 地址:https://github.com/asnhkl1/X-CompressImage

欢迎指教,互相学习

你可能感兴趣的:(可以自定义大小和像素来进行图片压缩的Android压缩库)