Android中的图片选择器以及图片剪裁器

  • GalleryPick
  • CropImageView
  • PicCrop https://github.com/hss01248/PicCrop
  • 拍照/图片选择--裁剪--压缩 一条龙 https://github.com/hss01248/PhotoOut
  • PhotoPicker https://github.com/glassLake/PhotoPicker
  • 可能是最接近微信朋友圈的图片压缩算法 https://github.com/Curzibn/Luban

1. GalleryPick

GalleryPick 是 Android 自定义相册,实现了拍照、图片选择(单选/多选)、裁剪、ImageLoader无绑定 任由开发者选择
GitHub地址: https://github.com/YancyYe/GalleryPick

使用法法简单

  • [ 1 ] 初始化配置参数
galleryConfig = new GalleryConfig.Builder()
                .imageLoader(new PicassoImageLoader())    // ImageLoader 加载框架(必填)
                .iHandlerCallBack(iHandlerCallBack)     // 监听接口(必填)
                .provider("com.example.myapplication.FileProvider")   // provider(必填)
                .pathList(path)                         // 记录已选的图片
                .multiSelect(false)                      // 是否多选   默认:false
                .multiSelect(false, 5)                   // 配置是否多选的同时 配置多选数量   默认:false , 9
                .maxSize(5)                             // 配置多选时 的多选数量。    默认:9
                .crop(false)                             // 快捷开启裁剪功能,仅当单选 或直接开启相机时有效
                .crop(false, 1, 1, 500, 500)             // 配置裁剪功能的参数,   默认裁剪比例 1:1
                .isShowCamera(false)                     // 是否现实相机按钮  默认:false
                .filePath("/Gallery/Pictures")          // 图片存放路径
                .imageLoader(new PicassoImageLoader())
                .build();

  • [ 2 ] 初始化图片回调接口
iHandlerCallBack = new IHandlerCallBack() {
            @Override
            public void onSuccess(List photoList) {
                path.clear();
                for (String s : photoList) {
                    path.add(s);
                }
                wrhImageView.setImageBitmap(BitmapFactory.decodeFile(path.get(0)));
            }
        };
  • [ 3 ] 授权管理
 // 授权管理
    private void initPermissions() {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                Toast.makeText(this, "请在 设置-应用管理 中开启此应用的储存授权。", Toast.LENGTH_SHORT).show();
            } else {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST_READ_CONTACTS);
            }
        } else {
            GalleryPick.getInstance().setGalleryConfig(galleryConfig).open(this);
        }
    }

  • [ 4 ] 打开相机或图库选择图片
   galleryConfig.getBuilder().isOpenCamera(false).build();

2. CropImageView

Android中的图片选择器以及图片剪裁器_第1张图片
S70616-100927.jpg
 wrhImageView.setImageBitmap(BitmapFactory.decodeFile(path.get(0)));
 Bitmap bitmap = wrhImageView.getCropBitmap(800, 800, true);
            iv_headphoto_img2.setImageBitmap(bitmap);

2.

你可能感兴趣的:(Android中的图片选择器以及图片剪裁器)