android裁剪圆型头像

用况:

有时候我们需要设置一个头像,需要在一张拍照或者相册中的图片里截取一个区域另存为一张图片,用做头像显示

提供一个demo

修改头像

可选择拍照或者选择相册图片

这里写图片描述

我这里选择了一张相册里的图片,主要是跳转到ClipActivity,选择好裁剪的区域后,点击确认,调用ClipImageLayout的clip方法即可。

这里写图片描述

我这里会把裁剪完的图片保存到一个临时文件,然后根据路径显示出来,你们可以根据自己的需要用做上传或者其他缓存处理。

这里写图片描述

其中

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)
以防止不同手机的通知栏高度会影响判断裁剪区域是否超出图片范围的准确性;

并且,裁剪界面是将选择的图片转换为bitmap进行显示的,如果资源过大,会导致内存溢出,所以还需要进行一步压缩:

Bitmap bitmap=ImageTools.convertToBitmap(path, 600,600);
另:如若想改为裁剪方形头像,则可将裁剪界面裁剪区域边框改为正方形即可:

//方形边框
//      canvas.drawRect(mHorizontalPadding, mVerticalPadding, getWidth()- mHorizontalPadding, getHeight() - mVerticalPadding, mPaint);
        //圆形边框
        canvas.drawCircle( getWidth()/2, getHeight()/2, getWidth()/2-mHorizontalPadding, mPaint);

代码下载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值