自定义圆形图片控件

做项目有个地方要用圆形图片做头像,而美工只给了我一个方形图片。。

本来打算自己PS的,就先放着了。后来网上搜到可以通过代码来实现圆形头像,而且上次面试还被问到了怎么实现圆形图片。。。

于是这次动手用自定义控件的方法做出来了,就算又练习了一下自定义控件。


原理:这次用的方法主要是通过BitmapShader来实现,Shader是颜色填充器,比如画了个圆,如果设置了Shader,且设置Shader颜色为蓝色,则画出的圆内部就会被蓝色填充。而BitmapShader则是用图片来作为填充物,因此,我们将需要处理的图片放入 BitmapShader中,然后画一个圆,然后就会用之前的图像填充圆内部,然后就实现了圆形图片。同理也可以实现圆角矩形图片等效果。


控件功能:

1.根据画布大小,缩放处理的图片

2.提供两种模式:

AUTO模式,将画布大小作为圆形半径

MANUAL模式,手动设置圆形半径,截取图片居中部分,不影响画布大小


控件效果:


具体步骤和之前自定义控件的差不多,源码里进行了注释,直接看源码就行。


源码地址:https://github.com/LqcIce/RoundImage

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值