欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

好用的开源库(二)——uCrop 图片裁剪

程序员文章站 2022-07-08 18:48:17
最近想要实现图片裁剪的功能,在Github上找到了这个uCrop,star的人挺多的,便是决定入坑,结果长达一个小时的看资料+摸索,终于是在项目中实现了图片裁剪的功能,今天便是来介绍一下uCrop的使用方法 uCrop 目录: 配置 流程介绍 使用 配置 1.添加依赖 2.配置Androidmani ......

最近想要实现图片裁剪的功能,在Github上找到了这个uCrop,star的人挺多的,便是决定入坑,结果长达一个小时的看资料+摸索,终于是在项目中实现了图片裁剪的功能,今天便是来介绍一下uCrop的使用方法

uCrop

目录:

  1. 配置

  2. 流程介绍

  3. 使用

配置

1.添加依赖

maven { url "https://jitpack.io" }
compile 'com.github.yalantis:ucrop:2.2.1'

好用的开源库(二)——uCrop 图片裁剪

好用的开源库(二)——uCrop 图片裁剪

2.配置Androidmanifest文件

<activity
            android:name="com.yalantis.ucrop.UCropActivity"
            android:screenOrientation="portrait"/>

screenOrientation是屏幕方向,由于是在手机上使用的,这里便设置为竖直方向

 3.还有读写权限的声明

好用的开源库(二)——uCrop 图片裁剪

PS:这里Write权限其实是包括了读和写的权限,所以我们只需要声明一个就行了,多声明写的权限也是没有问题的

简单流程介绍:

使用之前我们来了解一下剪切图片的过程

首先,Ucrop构造函数有两个参数,分别是需要裁剪的图片的Uri和裁剪之后的Uri,裁剪之后的Uri需要我们创建,之后对Ucrop进行一些设置,如裁剪框的宽高大小,设置裁剪框的竖线数量或者输出的图片格式等等

完成设置后就可以进入到裁剪的那个Activity进行裁剪的操作,结束裁剪之后会有返回码,我们在onActivityResult方法中对其进行截取就可以获得裁剪之后的Uri,之后我们就可以利用这个Uri获得裁剪之后的图片

使用:

1.新建一个输出的Uri,mDestinationUri

2.新建一个Ucrop类,相关设置如图片中代码

参数传入的是需要裁剪的图片的Uri

好用的开源库(二)——uCrop 图片裁剪

3.在onActivityResult中截取裁剪图片输出的Uri

 好用的开源库(二)——uCrop 图片裁剪

4.处理图片

好用的开源库(二)——uCrop 图片裁剪

这里直接使用Uri的toString方法将Uri转换为String

 5.显示图片

这里使用IO流,具体可以看看代码理解理解(其实直接用刚才获得的那个Uri也行,不用转换成String类型)

 好用的开源库(二)——uCrop 图片裁剪

可能出现的问题:

出现应用已停止:

原因:在使用裁剪的当前的Activity使用了actionbar,在Androidmanifest文件中将该activity的theme改为Noactionbar即可