diff --git a/app/build.gradle b/app/build.gradle index b88f2a5..891dc25 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,4 +122,6 @@ implementation 'com.amap.api:search:8.1.0' //桌面角标 implementation "me.leolin:ShortcutBadger:1.1.22@aar" + //图片压缩 + implementation 'top.zibin:Luban:1.1.8' } diff --git a/app/build.gradle b/app/build.gradle index b88f2a5..891dc25 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,4 +122,6 @@ implementation 'com.amap.api:search:8.1.0' //桌面角标 implementation "me.leolin:ShortcutBadger:1.1.22@aar" + //图片压缩 + implementation 'top.zibin:Luban:1.1.8' } diff --git a/app/src/main/java/com/casic/dcms/utils/ImageHelper.java b/app/src/main/java/com/casic/dcms/utils/ImageHelper.java index 5893053..672cdeb 100644 --- a/app/src/main/java/com/casic/dcms/utils/ImageHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ImageHelper.java @@ -12,6 +12,7 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.utils.callback.IWaterMarkAddListener; +import com.pengxh.androidx.lite.hub.ContextHub; import com.pengxh.androidx.lite.hub.FloatHub; import com.pengxh.androidx.lite.hub.LongHub; @@ -27,6 +28,8 @@ import rx.Observer; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; +import top.zibin.luban.Luban; +import top.zibin.luban.OnCompressListener; public class ImageHelper { private static final String TAG = "ImageHelper"; @@ -99,7 +102,7 @@ try { FileOutputStream fos = new FileOutputStream(imageFile); //以jpeg的编码方式,75%的像素质量保存为png图片 - copyBitmap.compress(Bitmap.CompressFormat.JPEG, 75, fos); + copyBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); if (!copyBitmap.isRecycled()) { @@ -123,11 +126,35 @@ @Override public void onNext(File file) { if (file != null) { - markAddListener.onSuccess(file); + //压缩 + compressImage(context, file, markAddListener); } else { markAddListener.onError(new NullPointerException()); } } }); } + + private static void compressImage(Context context, File file, IWaterMarkAddListener markAddListener) { + Luban.with(context) + .load(file.getAbsolutePath()) + .ignoreBy(100) + .setTargetDir(ContextHub.createCompressImageDir(context).toString()) + .setCompressListener(new OnCompressListener() { + @Override + public void onStart() { + + } + + @Override + public void onSuccess(File file) { + markAddListener.onSuccess(file); + } + + @Override + public void onError(Throwable e) { + markAddListener.onError(e); + } + }).launch(); + } } diff --git a/app/build.gradle b/app/build.gradle index b88f2a5..891dc25 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,4 +122,6 @@ implementation 'com.amap.api:search:8.1.0' //桌面角标 implementation "me.leolin:ShortcutBadger:1.1.22@aar" + //图片压缩 + implementation 'top.zibin:Luban:1.1.8' } diff --git a/app/src/main/java/com/casic/dcms/utils/ImageHelper.java b/app/src/main/java/com/casic/dcms/utils/ImageHelper.java index 5893053..672cdeb 100644 --- a/app/src/main/java/com/casic/dcms/utils/ImageHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ImageHelper.java @@ -12,6 +12,7 @@ import com.casic.dcms.base.BaseApplication; import com.casic.dcms.utils.callback.IWaterMarkAddListener; +import com.pengxh.androidx.lite.hub.ContextHub; import com.pengxh.androidx.lite.hub.FloatHub; import com.pengxh.androidx.lite.hub.LongHub; @@ -27,6 +28,8 @@ import rx.Observer; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; +import top.zibin.luban.Luban; +import top.zibin.luban.OnCompressListener; public class ImageHelper { private static final String TAG = "ImageHelper"; @@ -99,7 +102,7 @@ try { FileOutputStream fos = new FileOutputStream(imageFile); //以jpeg的编码方式,75%的像素质量保存为png图片 - copyBitmap.compress(Bitmap.CompressFormat.JPEG, 75, fos); + copyBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); if (!copyBitmap.isRecycled()) { @@ -123,11 +126,35 @@ @Override public void onNext(File file) { if (file != null) { - markAddListener.onSuccess(file); + //压缩 + compressImage(context, file, markAddListener); } else { markAddListener.onError(new NullPointerException()); } } }); } + + private static void compressImage(Context context, File file, IWaterMarkAddListener markAddListener) { + Luban.with(context) + .load(file.getAbsolutePath()) + .ignoreBy(100) + .setTargetDir(ContextHub.createCompressImageDir(context).toString()) + .setCompressListener(new OnCompressListener() { + @Override + public void onStart() { + + } + + @Override + public void onSuccess(File file) { + markAddListener.onSuccess(file); + } + + @Override + public void onError(Throwable e) { + markAddListener.onError(e); + } + }).launch(); + } } diff --git a/app/src/main/java/com/casic/dcms/utils/LocaleConstant.java b/app/src/main/java/com/casic/dcms/utils/LocaleConstant.java index 15ae70e..7ae60f1 100644 --- a/app/src/main/java/com/casic/dcms/utils/LocaleConstant.java +++ b/app/src/main/java/com/casic/dcms/utils/LocaleConstant.java @@ -16,8 +16,7 @@ Manifest.permission.RECORD_AUDIO, Manifest.permission.CALL_PHONE }; public static final String[] CASE_PAGE_TITLES = {"待办案卷", "已办案卷"}; - public static final String[] DEPT_PAGE_TITLES = {"待办案卷", "待处理", "已办案卷", "部门调整批示", "部门授权审核", "二级缓办待处理", "二级延期待处理"}; - public static final String[] CHART_PAGE_TITLES = {"表格", "饼状图"}; + public static final String[] DEPT_PAGE_TITLES = {"待办案卷", "待处理", "部门调整批示", "二级缓办待处理", "部门授权审核", "二级延期待处理", "已办案卷"}; public static final String[] SPINNER_ITEMS = {"请选择", "已处理", "无需处理"}; public static final String[] POPUP_LIST_ITEMS = {"一键消警", "报警分布", "窨井列表"}; public static final String[] POPUP_OPTION_ITEMS = {"一键布防", "一键撤防"};