美文网首页
图片压缩

图片压缩

作者: 小婷android | 来源:发表于2021-03-19 16:46 被阅读0次
    第一步:在build中引用压缩包
    implementation 'top.zibin:Luban:1.1.8'
    
    第二步:写压缩工具类
     public static void compress(Context context, File file, Handler.Callback callback) {
            Luban.with(context)
                    .load(file)
                    .ignoreBy(100)
                    .setTargetDir(Constant.photo_path)
                    .filter(path -> !(TextUtils.isEmpty(path) || path.toLowerCase().endsWith(".gif")))
                    .setCompressListener(new OnCompressListener() {
                        @Override
                        public void onStart() {
                            // TODO 压缩开始前调用,可以在方法内启动 loading UI
                            LogUtils.debug(TAG, "图片压缩:onStart");
                        }
    
                        @Override
                        public void onSuccess(File file) {
                            // TODO 压缩成功后调用,返回压缩后的图片文件
                            LogUtils.debug(TAG, "图片压缩:onSuccess");
                            Message message = Message.obtain();
                            message.obj = file;
                            callback.handleMessage(message);
                        }
    
                        @Override
                        public void onError(Throwable e) {
                            // TODO 当压缩过程出现问题时调用
                            LogUtils.debug(TAG, "图片压缩:onError," + e.getMessage());
                        }
                    }).launch();
        }
    
    
    第三步:activity中引用
       CompressUtils.compress(this, takePhotoFile, msg -> {
                            File compressFile = (File) msg.obj;
                            long length = compressFile.length();
                            Log.e("aaa", "图片压缩后: " + length / 1024.f / 1024.f + "MB");
                            return false;
                        });
    

    相关文章

      网友评论

          本文标题:图片压缩

          本文链接:https://www.haomeiwen.com/subject/xwxbcltx.html