仿支付宝头像外加一个边框的工具类
生活随笔
收集整理的這篇文章主要介紹了
仿支付宝头像外加一个边框的工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼:
/*** 獲取圓角矩形或圓形圖片的方法** @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));效果:
總結
以上是生活随笔為你收集整理的仿支付宝头像外加一个边框的工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: drcom linux最新版,Ubunt
- 下一篇: pc端客户端爬虫_爬虫微博模拟登陆-从移