圆形头像

本文介绍了一种在Android应用中实现圆形头像的方法。通过使用ImageView显示图片,并借助Canvas和Paint绘制圆形区域,最终实现将任意图片转换为圆形头像的功能。
先看下未设置正常的图片:
设置圆形头像后的效果:
布局很简单,就一个ImageVIew,直接看下代码:
ImageView mIv = (ImageView) findViewById(R.id.iv);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.head);
//获取bitmap原始的大小
int width = bitmap.getWidth();
int height = bitmap.getHeight();
//创建一张空白的bitmap
Bitmap newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
//获取此张bitmap的画布
Canvas canvas = new Canvas(newBitmap);
Paint paint = new Paint();
//画一圆
float cx = width * 1.0f / 2;
float cy = height * 1.0f / 2;
float radius = height > width ? width * 1.0f / 2 : height * 1.0f / 2;
canvas.drawCircle(cx, cy, radius, paint);
//这次画的图和以前画的图取交集显示
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, 0, 0, paint);
mIv.setImageBitmap(newBitmap);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值