您的位置:首页 > 移动开发 > Android开发

android裁剪圆型头像

2016-07-06 22:22 417 查看

用况:

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

提供一个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);


代码下载

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: