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

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<String> 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

S70616-100927.jpg
 wrhImageView.setImageBitmap(BitmapFactory.decodeFile(path.get(0)));
 Bitmap bitmap = wrhImageView.getCropBitmap(800, 800, true);
            iv_headphoto_img2.setImageBitmap(bitmap);

2.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容