Ucrop学习笔记

使用Ucrop裁剪图像

资料来源

https://blog.csdn.net/little_soybean/article/details/52460222

添加依赖

implementation 'com.github.yalantis:ucrop:2.2.2'

注册权限和自带裁剪的活动

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

...
<activity  

android:name="com.yalantis.ucrop.UCropActivity"  

android:screenOrientation="landscape"

android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>  

获得资源图片的路径以后就可以设置Ucrop启动裁剪活动

 UCrop.of(sourceUri, destinationUri)
                            .withAspectRatio(1, 1)
                            .withMaxResultSize(300, 300)
                            .start(this);

更多设置参考上方资料来源

UCrop uCrop = UCrop.of(uri_crop, destinationUri);
        UCrop.Options options = new UCrop.Options();
        //设置裁剪图片可操作的手势
        options.setAllowedGestures(UCropActivity.SCALE, UCropActivity.ROTATE, UCropActivity.ALL);
        //设置隐藏底部容器,默认显示
//        options.setHideBottomControls(true);
        //设置toolbar颜色
        options.setToolbarColor(ActivityCompat.getColor(this, R.color.colorPrimary));
        //设置状态栏颜色
        options.setStatusBarColor(ActivityCompat.getColor(this, R.color.colorPrimary));
        //是否能调整裁剪框
//        options.setFreeStyleCropEnabled(true);
         uCrop.withOptions(options);
         uCrop.start(this);

 

Ucrop会在裁剪结束后,返回启动Ucrop的活动页面

如果没有自己设置RequestCode,Ucrop有默认的值UCrop.REQUEST_CROP

在onActivityResult()方法中可以处理结果

case UCrop.REQUEST_CROP:
                if (resultCode==RESULT_OK){
                    Uri resultUri= UCrop.getOutput(data);
                    Glide.with(this).load(resultUri).into(ivHeadPic);
                }
                if (resultCode==UCrop.RESULT_ERROR){
                    Throwable t= UCrop.getError(data);
                    Log.e(TAG, "onActivityResult: t="+t);
                }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值