模仿qq截取圆形头像
来源:互联网 发布:合肥行知 编辑:程序博客网 时间:2024/06/14 07:43
前段时间在做一款软件,由于有用户登录,所以必须考虑到截取头像,于是自己尝试去实现类似qq那样获取圆形头像。
首先实现如下界面:
实现代码如下:
Bitmap bitmap = Bitmap.createBitmap(getMeasuredWidth(),getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
canvas.drawCircle(getMeasuredWidth() / 2, getMeasuredHeight() / 2,
radius, paint);
paint.setAlpha(180);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
Bitmap overBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.over);
canvas.drawBitmap(overBitmap,null,sourceRect,paint);
return bitmap;
即可获取上图所示效果。
接下来就是实现当用户点击截取的时候获取圆形区域图片的时候了。
Bitmap targetBitmap = Bitmap.createBitmap(2 * radius,2 * radius, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(targetBitmap);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setDither(true);
Path path = new Path();
path.addCircle(radius, radius, radius, Path.Direction.CCW);
canvas.clipPath(path, Region.Op.REPLACE);
matrix.postTranslate(-(getWidth() - 2 * radius) / 2, -(getHeight() - 2 * radius) / 2);
canvas.drawBitmap(sourceBitmap, matrix, paint);
targetBitmap就是要截取的区域。
源码下载地址
- 模仿qq截取圆形头像
- 仿QQ头像截取
- 截取圆形图片做头像
- Android 圆形头像的截取
- Android仿QQ圆形头像
- Android 圆形头像 类似QQ
- 高仿QQ头像截取
- 高仿QQ头像截取
- vc模仿qq的选择头像功能
- Android:设置圆形头像,Android截取圆形图片
- iOS中类似QQ圆形头像 处理
- 自定义圆形ImageView(仿QQ头像)
- 圆形头像制作,仿QQ做法。
- Android:高仿QQ头像截取
- 安卓高仿QQ头像截取升级版
- 安卓高仿QQ头像截取升级版
- 仿QQ头像自定义截取功能
- C# 将正方形头像转化成圆形头像(例如:qq头像)
- 创建桌面快捷方式
- J2EE进阶(一)随堂笔记
- webapp应用Servlet
- 创建目录以及文件写入
- CentOS7配置redis开机启动
- 模仿qq截取圆形头像
- zepto获取select元素的选中值的文本以及值的获取
- 【Java并发编程实战】—–“J.U.C”:Phaser
- 算法导论的python实现之插入排序
- cocopods
- Android给服务器发送json数据初体验
- 解决UICollectionView的cell间距与设置不符问题
- android解析服务器传来的xml文件和json文件(一)
- nginx.conf配置文件的基本详解