Skip to content

Commit 3356eee

Browse files
committed
add Luban compress
1 parent 4b4ee6b commit 3356eee

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@ dependencies {
4141
implementation 'com.github.chrisbanes:PhotoView:2.1.3'
4242
implementation 'com.zhy:base-rvadapter:3.0.3'
4343
implementation 'com.zhy:base-adapter:3.0.3'
44+
implementation 'top.zibin:Luban:1.1.3'
4445
}

app/src/main/java/com/hd/viewcapture/demo/BaseCaptureActivity.java

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.graphics.Paint;
99
import android.net.Uri;
1010
import android.os.Bundle;
11+
import android.os.Environment;
1112
import android.support.annotation.NonNull;
1213
import android.support.annotation.Nullable;
1314
import android.util.Log;
@@ -20,6 +21,11 @@
2021
import com.hd.viewcapture.CaptureManager;
2122
import com.hd.viewcapture.ViewCapture;
2223

24+
import java.io.File;
25+
26+
import top.zibin.luban.Luban;
27+
import top.zibin.luban.OnCompressListener;
28+
2329

2430
/**
2531
* Created by hd on 2018/2/7 .
@@ -32,6 +38,8 @@ public abstract class BaseCaptureActivity<V extends View> extends BaseActivity /
3238

3339
private Uri uri;
3440

41+
private final String directoryName="viewCaptureFile";
42+
3543
@Override
3644
protected void onCreate(@Nullable Bundle savedInstanceState) {
3745
super.onCreate(savedInstanceState);
@@ -72,7 +80,7 @@ protected void captureView(V v) {
7280
ViewCapture.with(v)//
7381
.asJPG(80)//
7482
.setFileName("viewCapture")//
75-
.setDirectoryName("viewCaptureFile")//
83+
.setDirectoryName(directoryName)//
7684
.setOnSaveResultListener(this)//
7785
.setBitmapProcessor(this)//
7886
.save();
@@ -87,7 +95,36 @@ public void onSaveResult(boolean isSaved, String path, Uri uri) {
8795
this.uri = uri;
8896
Log.d("tag", logStr);
8997
Toast.makeText(this, logStr, Toast.LENGTH_SHORT).show();
90-
loadBitmap(uri);
98+
createLuban(path,uri);
99+
}
100+
101+
private void createLuban(final String path, final Uri uri) {
102+
File directoryFile = new File(Environment.getExternalStorageDirectory()+File.separator+directoryName, "compress");
103+
if (!directoryFile.exists()) {
104+
boolean dirs=directoryFile.mkdirs();
105+
}
106+
Luban.with(getApplicationContext())//
107+
.load(path) //
108+
.ignoreBy(80) //
109+
.setTargetDir(directoryFile.getAbsolutePath())
110+
.setCompressListener(new OnCompressListener() {
111+
@Override
112+
public void onStart() {
113+
Log.d("Luban","start compress");
114+
}
115+
116+
@Override
117+
public void onSuccess(File file) {
118+
Log.d("Luban","compress success");
119+
loadBitmap(Uri.fromFile(file));
120+
}
121+
122+
@Override
123+
public void onError(Throwable e) {
124+
Log.d("Luban","compress error");
125+
loadBitmap(uri);
126+
}
127+
}).launch();
91128
}
92129

93130
@NonNull

0 commit comments

Comments
 (0)