日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/1/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 仿支付宝头像外加一个边框的工具类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼:

/*** 獲取圓角矩形或圓形圖片的方法** @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));

效果:

總結

以上是生活随笔為你收集整理的仿支付宝头像外加一个边框的工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。