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


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

    uCrop

    目录:

    1. 配置

    2. 流程介绍

    3. 使用

    配置

    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即可

  • 相关阅读:
    Linux下文件的压缩和解压
    Env: Linux下Source Insight安装
    [uart]2.tty和uart的函数调用流程
    [uart]stty命令使用
    腾讯云的云数据库MYSQL配置
    MySQL分支Percona
    MYSQL的历史
    MYSQL的价格
    mysql之event
    Linux下设置网卡静态ip
  • 原文地址:https://www.cnblogs.com/stars-one/p/8440072.html
Copyright © 2020-2023  润新知