图片选择器及图片裁剪的实现

Github地址点我

效果图

图片列表页

图片裁剪页

使用介绍

导入以后:

    new ImageSelector.Builder().with(this)
                .setRequestCode("your reqest code")
                .setTitle("toolbar title")
                .setTitleColor("toolvar title color")
                .setBackgroundColor("toolbar bgcolor")
                .needCrop(true)
                .cropSize(size,size)
                .format(Bitmap.CompressFormat.JPEG)
                .quality(60)
                .start();

然后重写onActivityResult方法,

String path = intent.getStringExtra(ImageSelector.DATA);

至此已经获取到了选择(裁剪)后的图片地址

该Module中使用了一下第三方(像Rxjava本来没必要,但处于学习阶段就用了),相信你都知道这几个库。



    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.github.chrisbanes:PhotoView:1.2.6'

在实现本module中有两点需要注意:
1、 CropView的设计和处理
2、 图片的区域裁剪
先说第一点:
自定义一个View在onDraw中绘制五个区域,其中一个就是选中图片的区域,其他四个区域则以带有背景的块绘制,在onTouch中处理及改变选中图片区域的下x和y,详细代码请参阅源码(widgets->CropView)。
第二点:在本module中图片裁剪我采用的是截取图片view的parent view,然后用drawingcache获取Bitmap,再将该Bitmap进行裁剪(从CropView获取的Rect)。

本module目前已经解决了裁剪拍照后的图片为黑色的bug,尚未发现其它bug.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值