仿支付宝头像外加一个边框的工具类

编程入门 行业动态 更新时间:2024-10-06 10:35:29

仿支付宝头像外加一个<a href=https://www.elefans.com/category/jswz/34/1766074.html style=边框的工具类"/>

仿支付宝头像外加一个边框的工具类

代码:

/*** 获取圆角矩形或圆形图片的方法** @param bitmap 待处理 bitmap 对象* @param pixels 圆角半径,x 和 y 相等* @return 返回圆角或者圆形 bitmap*/public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(output);final Paint paint = new Paint();final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());final RectF rectF = new RectF(rect);final float roundPx = pixels;paint.setAntiAlias(true);//柱:一定要先画圆角矩形canvas.drawRoundRect(rectF, roundPx, roundPx, paint);paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint);return output;}/*** 获取待边框的圆角矩形或圆形图片方法** @param resources          {@link Resources}* @param resId              对应资源 id* @param borderCornerRadius 边框圆角半径,x 和 y 相等* @return 圆角矩形或圆形 bitmap 对象*/public static Bitmap getRoundCornerBitmapWithBorder(Resources resources, int resId, int borderCornerRadius) {Bitmap src = BitmapFactory.decodeResource(resources, resId);Bitmap temp_out = getRoundedCornerBitmap(src, 0);//图片默认为矩形的Bitmap out = Bitmap.createBitmap(temp_out.getWidth(), temp_out.getHeight(), Bitmap.Config.ARGB_8888);//新建画布Canvas canvas = new Canvas(out);//原始大小的矩形Rect rect = new Rect(0, 0, temp_out.getWidth(), temp_out.getHeight());//矩形宽高的两边都缩小 10Rect insetRect = new Rect(rect);//外面白色变宽宽度 默认为 10final int borderWidth = 8;//缩小矩形insetRect.inset(borderWidth, borderWidth);Paint paint = new Paint();//把图像信息画在缩小后的矩形区域内canvas.drawBitmap(temp_out, rect, insetRect, paint);paint.setAntiAlias(true);paint.setColor(0xFFCE3D3A);paint.setStyle(Paint.Style.STROKE);paint.setStrokeWidth(borderWidth);//画边框线canvas.drawRoundRect(new RectF(insetRect), borderCornerRadius, borderCornerRadius, paint);return out;}

注:getRoundedCornerBitmap() 方法中一定要先画圆角矩形,原因可以看一下上篇文章:

安卓 Paint 的 Xfermode

调用:

iv.setImageBitmap(BitmapHelper.getRoundCornerBitmapWithBorder(getResources(), R.mipmap.icon_avater, 14));

效果:

更多推荐

仿支付宝头像外加一个边框的工具类

本文发布于:2023-07-04 09:21:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1022316.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:边框   支付宝   头像   工具

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!