老规矩 先上依赖
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
Log.i("imageCompress","success");
//do what you want to do
}
@Override
public void onCompressFailed(ArrayList
Log.e("imageCompress","false",null);
}
}).compress();
git 地址:https://github.com/asnhkl1/X-CompressImage
欢迎指教,互相学习