您的位置:首页 > 其它

LuBan图片压缩

2016-09-08 18:15 337 查看
图片压缩目的:1)减少图片上传所需要的时间 2)减轻服务器端存储压力.

添加依赖:

//LuBan图片压缩
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.1.6'
compile 'top.zibin:Luban:1.0.5'
代码如下:

package com.crs.demo.ui;

import android.os.Bundle;
import android.os.Environment;
import android.view.View;

import com.crs.demo.R;
import com.crs.demo.base.BaseActivity;
import com.crs.demo.utils.LogUtils;

import java.io.File;

import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;

/**
* Created on 2016/9/8.
* Author:crs
* Description:LuBan图片压缩
*/
public class LunBanImageActivity extends BaseActivity {

public static final String TAG = "LunBanImage";
private String path;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lu_ban);

final File file = new File("/storage/sdcard1" + File.separator + "test.png");
final long start = file.length();

findView(R.id.btn_start).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Luban.get(LunBanImageActivity.this)
.load(file)
.putGear(Luban.FIRST_GEAR)//设置压缩级别
.setCompressListener(new OnCompressListener() {
//压缩开始前调用,可以在方法内启动loading UI
@Override
public void onStart() {
LogUtils.i(TAG, "开始压缩");
}
//压缩成功后调用,返回压缩后的图片文件
@Override
public void onSuccess(File file) {
//获取压缩后的文件大小
long end = file.length();
long reduce = start - end; //448434 压缩的特别小
LogUtils.i(TAG, reduce + "");
}

//当压缩出现问题时调用
@Override
public void onError(Throwable e) {

}
//启动
}).launch();
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片压缩 LuBan