Android 头像定位图标

前言

相信很多小伙伴都使用过高德地图或者百度地图,其中肯定或多或少的会有通过头像定位图标显示用户位置的需求。比如类似于微信的位置共享或者到位App的用户位置显示。都是采取了通过头像合成头像定位图标的方式。其中可以在服务器上合成直接返回也可以在客户端上合成,由于这是针对Android的文章,自然是需要通过Android代码来实现的。话不多少,上效果。

效果

这里写图片描述

这是我之前写过的一个应用,里面正好就有这个功能。效果实现后就是这个样子。从服务器获取到头像之后动态合成定位图标的Bitmap对象加载到地图上显示。

代码

来说一下实现代码把。代码不多,其实就是操作Bitmap对象就行二次绘制而已。首先要获取到头像的Bitmap对象,然后将其绘制为圆形图片,然后将定位图标作为画布的背景,将之前的圆形图片再绘制在图标画布上达到覆盖的效果,即可生成头像定位小图标。先看代码。
这段代码是将头像的Bitmap对象绘制为圆形图片。其中resource为头像Bitmap对象,min为圆形图片的半径,isWhite是表示定位图标颜色是白色不,因为我的项目里面有蓝色定位图标和白色定位图标两种,效果图中显示的是白色定位图标。

 public static Bitmap drawMark(Bitmap resource, final int min,boolean isWhite) {final Paint paint = new Paint();paint.setAntiAlias(true);Bitmap target = Bitmap.createBitmap(min, min, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(target);canvas.drawCircle(min / 2, min / 2, min / 2, paint);resource=Bitmap.createScaledBitmap(resource,min,min,true);paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));canvas.drawBitmap(resource, 0, 0, paint);resource.recycle();return overlying(target,isWhite);}

将头像圆形化之后要进行图标的覆盖。代码如下,原理也很简单。其将定位图标资源提取为Bitmap对象,然后将按照比例转化,最后作为Canvas的画布,将source圆形头像,再绘制在其上,达到覆盖的效果。即可生成头像定位图标。

 public static Bitmap overlying(Bitmap source,boolean isWhite){Paint paint = new Paint();paint.setAntiAlias(true);Bitmap image ;if (isWhite){image = BitmapFactory.decodeResource(HereApplication.getContext().getResources(),R.drawable.white_map_head).copy(Bitmap.Config.ARGB_8888,true);}else {image = BitmapFactory.decodeResource(HereApplication.getContext().getResources(),R.drawable.bule_map_head).copy(Bitmap.Config.ARGB_8888,true);}image=Bitmap.createScaledBitmap(image,200,200,true);Canvas canvas = new Canvas(image);canvas.drawBitmap(source,28,13,paint);source.recycle();return image;}

图标

这里写图片描述
白色图标由于颜色问题导致看不清,位置就在此文字下方。
这里写图片描述

结束

最后如果图标提取有问题,边缘不透明的话可以移步到我的github项目中自行提取,有想了解我的项目的可以下载源码试看。 项目源码 觉得有帮助的可以帮忙star,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/29361.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运用el-avatar显示图片/头像

Element-ui官方 实现 效果 代码实现 html <el-table-column label"头像" width"120"><div class"demo-fit"><div class"block"><el-avatarshape"square":size"50":fit"fit":src…

【uni-app】常用图标、头像汇总

在做小程序的时候&#xff0c;有时候需要各种图标和头像素材&#xff0c;而百度一堆基本都是收费的。所以&#xff0c;整理一些免费好用的图标&#xff0c;头像库&#xff1a; 1、iconfont-阿里巴巴矢量图标库 基本上常用的矢量图标&#xff0c;在这儿都有&#xff0c;而且可…

中学生鸿蒙系统演讲稿,华为鸿蒙 2.0 系统主题演讲公布,详细架构 9 月 11 日揭晓...

IT 之家 8 月 30 日消息 华为 9 月 10 日将举行华为开发者大会 2020&#xff0c;华为官网表示&#xff0c;" 我们将与您分享 HMS Core 5.0 最新进展&#xff0c; 揭开 HarmonyOS 和 EMUI 11 的神秘面纱。 振奋人心的新技术&#xff0c;深入的交流学习机会&#xff0c; 更灵…

[娱乐]华为HWT文件手动修改字体名称

前言 作为白嫖党&#xff0c;白嫖来的华为主题包里的字体&#xff0c;总是会出现一些导入后和显示的不太一样。 欲修改&#xff0c;遂有此文。&#xff08;又是逼死强迫症的一天/狗头保命&#xff09;&#xff08;免责声明&#xff1a;出了问题别找我&#xff0c;改回来就行&a…

华为电脑终于又能搭载正版 Windows 系统了!

整理 | 刘静 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 微软已经获得向华为出口软件的许可证 我们是否还停留在华为被美国列入“实体管制名单”的事件中&#xff1f; 然而就在2019年11月21日&#xff0c;据路透社报道&#xff0c;美国科技行业的“龙头老大”…

华为metebook 电脑应用市场应用无法下载

错误信息如下&#xff1a; 解决方案&#xff1a; 通过PC应用市场右上角下载列表 > 下载目录 > 右键点击AppGallery文件夹 > 属性 > 安全 > 查看当前文件夹是否有名为Authenticated Users的组或用户名 如果有组或用户名为Authenticated Users&#xff0c;请确…

协同办公“战役”,华为输了吗?

近日&#xff0c;华为“Link Now”APP发布停运公告&#xff0c;引发热议&#xff0c;宣布&#xff1a;自2022年12月16日24时起&#xff0c;Link Now业务将正式停止运营与服务。 作为值得尊重的民族企业&#xff0c;华为的一举一动&#xff0c;牵动着无数人的心。 Link Now是华…

华为鸿蒙主题设计,2020华为全球主题设计大赛,简直就是神仙打架啊!

#华为全球主题设计大赛# 是由华为主办的一场设计美学盛宴 本次大赛共收到来自 全球90个国家4.1万幅作品 用想象力构建出创意世界 专业组共四个单元 分为手机主题、创意壁纸、 个性表盘、城市画报 大众组手绘挑战赛 分为饭绘爱豆、二次元涂鸦、 手写壁纸、随便画4个话题 全球总冠…

2022年9月20日版华为主题工具更新讲解:锁屏代码机制的不同

2022年9月20日&#xff0c;华为主题官方工具发布更新&#xff0c;运行版本&#xff1a;11.0.14.301.0。 此次更新&#xff0c;锁屏代码有了全新调整。 动态锁屏原为manifest.xml一个文件。 而新工具&#xff0c;则会自动生成多个代码&#xff0c; <Lockscreen version"…

华为鸿蒙系统主题,华为鸿蒙2.0系统演讲主题公布:详细架构即将揭晓

华为即将于 9 月 10 日 -9 月 12 日举行华为开发者大会 2020&#xff0c;官网上已经公布的会议日程显示&#xff0c;这次大会主题有三大重点——鸿蒙系统、HMS 服务及 EMUI 11 系统。 华为官网表示&#xff0c;" 我们将与您分享 HMS Core 5.0 最新进展&#xff0c;揭开 Ha…

华为主题包hwt下载_华为主题开发工具

hwtTool免费版是一款由华为研发的主题制作程序&#xff0c;程序员能够通过它制作各种样式的主题或者视频壁纸&#xff0c;不管是锁屏的还是桌面主题&#xff0c;都可以用它来制作&#xff0c;就像我们在应用商店中看到的主题壁纸。 软件介绍 hwtTool(华为主题开发工具)是华为自…

华为电脑分类四个系列_华为正式推出“重新定义的个人电脑”,我们用四个问题阐述它是啥...

前言&#xff1a;2018年6月26日&#xff0c;华为官方正式宣布mate10系列正式支持升级云电脑功能&#xff0c;持有mate10系列手机的用户可以去华为应用商店下载安装。至此&#xff0c;前段时间华为宣布的“重新定义的个人电脑”正式和大家“见面”了。 对于华为官方的这一则消息…

ChatGPT请不要和打工人争辩今天星期几

目录 1 今天星期几2 聊聊ChatGPT与工具的结合 1 今天星期几 周五了&#xff0c;一个星期快结束了&#xff0c;闲来问问chatgpt (gpt-3.5) 今天 ( 2023.06.03星期五&#xff09;星期几&#x1f601;&#xff0c;chatgpt给出的回答如下&#xff1a; 今天是2023年6月2号没错&…

ChatGPT当前打工人的选择:

ChatGPT当前打工人的选择&#xff1a; seo 是什么 SEO&#xff08;Search Engine Optimization&#xff09; 搜索引擎优化

GRECP/LPL RECOVERY

GRECP和LPL是DM标记的两个DBET状态。 之前有篇博文讲述了LPL 在介绍GRECP/LPL 之前&#xff0c;先介绍下GRECP(GROUP BUFFER POOL RECOVERY PENDING)。 在DATASHARING环境中&#xff0c;每个MEMER都有自己的local buffer pool,当多个MEMBER都该某个page的时候&#xff0c;会…

python爬虫入门爬取lpl选手价值排行榜

代码&#xff1a; import requests from bs4 import BeautifulSoup import bs4 def getHTMLText(url):try:r requests.get(url, timeout30)r.raise_for_status()r.encoding r.apparent_encodingreturn r.textexcept:return "访问失败" def fillUnivList(ulist, il…

LPL比赛数据可视化,完成这个项目,用尽了我的所有Python知识

LPL比赛数据可视化 效果图 完成这个项目&#xff0c;我感觉我已经被掏空了&#xff0c;我几乎用尽了我会的所有知识 htmlcssjavascriptjQuerypythonrequestsnumpymysqlpymysqljsonajaxflaskecharts 在这个过程中&#xff0c;并不是那么顺利&#xff0c;遇到了很多坑&#xff0…

好嗨游戏:LPL春季赛决赛在即,黑8传奇JDG迎战S8冠军IG

文章首发于:好嗨游戏 在上周结束的半决赛中,在小组赛中积分领先的小组第一名FPX和第三名TOP,分别遗憾落败JDG和IG,无缘冠军争夺赛,让人大跌眼镜。2019LPL春季赛冠军,将在IG和JDG之间产生。 IG一路晋级顺风顺水,走到决赛众望所归,而将与IG争夺冠军头衔的JDG不仅在名气…

使用八爪鱼和pyecharts绘制LPL春季赛选手数据图

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 一、pyecharts是什么&#xff1f; 二、八爪鱼的是什么以及有何作用 三、数据集的准备 四.使用pyecharts进行图像可视化 1.导入库 2.读入数据 3 、绘制…

LPL2019职业联赛春季+夏季赛数据分析

分析需求1&#xff1a;出场次数最多的10位英雄 分析需求2&#xff1a;胜场次数最多的10位英雄 分析需求3&#xff1a;分析所有英雄的胜率&#xff0c;并取出前10进行图表展示 分析需求4&#xff1a;每个位置的出场英雄数饼图分析 分析需求5&#xff1a;选手UZI的英雄池分析 分析…