|
|
@@ -22,6 +22,7 @@ import java.math.BigDecimal;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
+import id.zelory.compressor.Compressor;
|
|
|
import io.reactivex.Observable;
|
|
|
import io.reactivex.ObservableEmitter;
|
|
|
import io.reactivex.ObservableOnSubscribe;
|
|
|
@@ -258,15 +259,24 @@ public class OperationPresenter extends BasePresenter<IOperationView> {
|
|
|
if (!file.getParentFile().exists()) {
|
|
|
file.mkdirs();
|
|
|
}
|
|
|
- // todo 压缩图片
|
|
|
+ int rawWidth = rotatedBitmap.getWidth();
|
|
|
+ // 压缩图片
|
|
|
boolean saveCropSuccess = ImageUtil.saveBitmapFile(rotatedBitmap, file);
|
|
|
originalBmp.recycle();
|
|
|
croppedBmp.recycle();
|
|
|
rotatedBitmap.recycle();
|
|
|
if (saveCropSuccess) {
|
|
|
+ long multiple = file.length()/1024/1024+1;
|
|
|
+ File compressedFile = new Compressor(context.getApplicationContext())
|
|
|
+ .setMaxWidth((int) (rawWidth/multiple))
|
|
|
+ .setQuality(90)
|
|
|
+ .setDestinationDirectoryPath(file.getParentFile().getAbsolutePath())
|
|
|
+ .compressToFile(file, "cp_" + file.getName());
|
|
|
+
|
|
|
+ file.delete();
|
|
|
// 保存最终截图成功
|
|
|
// 根据URI获取图片的base64字符串
|
|
|
- String photoBase64 = Base64Tool.getBase64FromFilePath(file.getAbsolutePath());
|
|
|
+ String photoBase64 = Base64Tool.getBase64FromFilePath(compressedFile.getAbsolutePath());
|
|
|
if (TextUtils.isEmpty(photoBase64)) {
|
|
|
emitter.onError(new Exception("Empty image"));
|
|
|
} else {
|