好用的开源库(二)——uCrop 图片裁剪
最近想要实现图片裁剪的功能,在Github上找到了这个uCrop,star的人挺多的,便是决定入坑,结果长达一个小时的看资料+摸索,终于是在项目中实现了图片裁剪的功能,今天便是来介绍一下uCrop的使用方法
目录:
配置
流程介绍
使用
配置
1.添加依赖
maven { url "https://jitpack.io" }
compile 'com.github.yalantis:ucrop:2.2.1'


2.配置Androidmanifest文件
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"/>
screenOrientation是屏幕方向,由于是在手机上使用的,这里便设置为竖直方向
3.还有读写权限的声明

PS:这里Write权限其实是包括了读和写的权限,所以我们只需要声明一个就行了,多声明写的权限也是没有问题的
简单流程介绍:
使用之前我们来了解一下剪切图片的过程
首先,Ucrop构造函数有两个参数,分别是需要裁剪的图片的Uri和裁剪之后的Uri,裁剪之后的Uri需要我们创建,之后对Ucrop进行一些设置,如裁剪框的宽高大小,设置裁剪框的竖线数量或者输出的图片格式等等
完成设置后就可以进入到裁剪的那个Activity进行裁剪的操作,结束裁剪之后会有返回码,我们在onActivityResult方法中对其进行截取就可以获得裁剪之后的Uri,之后我们就可以利用这个Uri获得裁剪之后的图片
使用:
1.新建一个输出的Uri,mDestinationUri
2.新建一个Ucrop类,相关设置如图片中代码
参数传入的是需要裁剪的图片的Uri

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

4.处理图片

这里直接使用Uri的toString方法将Uri转换为String
5.显示图片
这里使用IO流,具体可以看看代码理解理解(其实直接用刚才获得的那个Uri也行,不用转换成String类型)

可能出现的问题:
出现应用已停止:
原因:在使用裁剪的当前的Activity使用了actionbar,在Androidmanifest文件中将该activity的theme改为Noactionbar即可
好用的开源库(二)——uCrop 图片裁剪的更多相关文章
- [RN] React Native 使用开源库 react-native-image-crop-picker 实现图片选择、图片剪裁
React Native 使用开源库 react-native-image-crop-picker 实现图片选择.图片剪裁 该库可以实现启动本地相册和照相机来采集图片,并且提供多选.图片裁剪等功能,支 ...
- 音视频入门-13-使用开源库生成PNG图片
* 音视频入门文章目录 * RGB-to-PNG 回顾 上一篇 [手动生成一张PNG图片] 根据 [PNG文件格式详解] 一步一步地手动实现了将 RGB 数据生成了一张 PNG 图片. 有许多开源的 ...
- uCrop图片裁剪
uCrop使用 github地址 https://github.com/Yalantis/uCrop然后clone或下载到本地,运行之. 效果预览 app/build.gradle compile ' ...
- bootstrap-wysiwyg 结合 base64 解码 .net bbs 图片操作类 (二) 图片裁剪
图片裁剪参见: http://deepliquid.com/projects/Jcrop/demos.php?demo=thumbnail 一个js插件 http://www.mikes ...
- 图片裁剪的js有哪些(整理)
图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...
- node.js平台下,cropper.js实现图片裁剪预览并转换为base64发送至服务端。
一 .准备工作 1.首先需要先下载cropper,常规使用npm,进入项目路径后执行以下命令: npm install cropper 2. cropper基于jquery,在此不要忘记引入jq,同时 ...
- cropper.js实现图片裁剪预览并转换为base64发送至服务端。
一 .准备工作 1.首先需要先下载cropper,常规使用npm,进入项目路径后执行以下命令: npm install cropper 2. cropper基于jquery,在此不要忘记引入jq,同时 ...
- js插件---图片裁剪cropImgBox(适合练习编写插件之用)
js插件---图片裁剪cropImgBox(适合练习编写插件之用) 一.总结 一句话总结:无论是灰度还是高对比度的图片,都是先处理canvas的像素,使其变成灰度或者高对比度,然后再用canvas.t ...
- js插件---图片裁剪photoClip
js插件---图片裁剪photoClip 一.总结 一句话总结:页面裁剪图片得到base64格式的图片数据,然后把这个数据通过ajax上传给服务器,服务器将base64图片数据解析成图片并且保存到服务 ...
随机推荐
- 洛谷 P1553 数字反转(升级版)【字符串+STL stack】
P1553 数字反转(升级版) 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数.整数反转是将所有数位对调 ...
- 我的第一次Pascal程序
今天刚刚来学点Pascal语言,都怪我买的书大多是用Pascal语言写的,所以我只能试着学一点咯! 来一段程序员最经典的Hello World! ; begin write('Hello World! ...
- [OpenCV学习笔记2][Mat数据类型和操作]
[Mat数据类型和基本操作] ®.运行环境:Linux(RedHat+OpenCV3.0) 1.Mat的作用: Mat类用于表示一个多维的单通道或者多通道的稠密数组.能够用来保存实数或复数的向量.矩阵 ...
- SpringBoot介绍及环境搭建
什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不 ...
- 织梦在服务器上面安装的时候一直提示data文件没有权限,可我已经写了权限,还是提示
1.进入服务器,打开IIS,点击相应无权限的文件夹data,然后点击右上角的编辑权限. 2.勾选写入,然后确定即可. 3.织梦一直收到黑客的攻击,这里建议站长朋友设置下权限,来降低织梦系统的危险系数. ...
- [拾 得]pipe和xargs的恩怨情仇
Photo by Joshua Sortino on Unsplash 坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/ ...
- jquery 循环获取checkBox的值,以及对复选框选中,取消,操作按钮
法一:jquery 循环获取选中checkBox框的值 function checkeds() { $("input:checkbox").each(function(index) ...
- java中的左右移
package scanner; public class LeftMove { public static void main(String[] args) { int i = 1; System. ...
- Spring-事务配置和详解
一.Spring事务配置 在项目开发过程中经常会使用事务来确保数据的一致性.根据网上的资料整理一下在spring中配置事务的几种方式.无论是哪种方式都需要在配置文件中配置连接池和事务管理器,代码如下. ...
- Python之数学(math)和随机数(random)
math包包含了最基本的数学运算函数,如果想要更加高级的数学功能,可以使用标准库外的numpy和scipy库,他们不但支持数组和矩阵运算, 还有丰富的数学和物理方程可供使用 random包可以用来生成 ...