头像生成方法、装置、设备及存储介质与流程

文档序号:29689937发布日期:2022-04-16 11:07阅读:119来源:国知局
头像生成方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种头像生成方法、装置、设备及存储介质。


背景技术:

2.在某些场景下,在进行用户管理的时候,需要展示用户昵称。在很多情况下,会使用头像的形式展示用户昵称。例如,在默认颜色的背景图像上或默认图片上,叠加显示用户昵称。又例如,随机生成背景图像,在随机生成的背景图像上显示用户昵称。
3.现有的头像显示方式,主要存在以下问题:
4.默认颜色背景图像或默认图片上叠加用户昵称的方式,使得大量用户的背景图像或图片相同,使用者难以根据头像区分用户。
5.随机生成背景图像的方式,可能导致用户昵称与背景图像颜色相近,导致使用者难以根据显示的头像看清楚用户昵称。


技术实现要素:

6.本技术提供了一种头像生成方法、装置、设备及存储介质,用以针对现有的头像生成过程中存在的不同用户头像难以区分,以及头像背景与文字难以区分问题提供解决方案。
7.第一方面,本技术实施例提供了一种头像生成方法,包括:
8.获取对象的标识文本;
9.将所述标识文本转换为标识数值;
10.基于数值与背景颜色值之间的映射关系,获取所述标识数值对应的背景颜色值;
11.将获取的所述背景颜色值设置为所述对象的头像的背景色,生成所述对象的头像,其中,所述头像中包括所述对象的名称指示文本。
12.可选地,所述对象的名称指示文本在所述头像中的显示颜色值,与所述映射关系中所述背景颜色值的差值,不小于预设值。
13.可选地,所述将所述标识文本转换为标识数值,包括:
14.获取所述标识文本中的每个字符各自对应的转码数值;
15.获取所述每个字符各自对应的转码数值累加得到的和值;
16.基于所述和值,得到所述标识文本对应的所述标识数值。
17.可选地,所述生成所述对象的头像,包括:
18.从所述对象的名称文本中,截取获得所述对象的名称指示文本;
19.将所述对象的名称指示文本,设置在所述对象的头像的预设区域内。
20.可选地,所述从所述对象的名称文本中,截取获得所述对象的名称指示文本,包括:
21.获取所述对象的名称文本所属的类型;
22.根据所述类型对应的截取方式,从所述对象的名称文本中,截取获得所述对象的名称指示文本。
23.可选地,所述截取方式包括截取的文本长度以及截取文本的位置;
24.所述截取文本的位置包括所述对象的名称文本的起始文本、末尾文本或任意中间位置文本中的至少一种。
25.可选地,所述对象的标识文本包括所述对象的名称文本,或,所述对象所属分类的名称文本。
26.可选地,所述映射关系中包括0至n-1中的每个数值各自对应的背景颜色值;
27.所述基于数值与背景颜色值之间的映射关系,获取所述标识数值对应的背景颜色值,包括:
28.获取所述映射关系中包括的背景颜色值的种类n,将所述标识数值对所述n取余,获得余数;
29.从所述映射关系中获得所述余数对应的背景颜色值,作为所述标识数值对应的背景颜色值。
30.第二方面,本技术实施例提供了一种头像生成装置,包括:
31.获取模块,用于获取对象的标识文本;
32.转换模块,用于将所述标识文本转换为标识数值;
33.处理模块,用于基于数值与背景颜色值之间的映射关系,获取所述标识数值对应的背景颜色值;
34.生成模块,用于将获取的所述背景颜色值设置为所述对象的头像的背景色,生成所述对象的头像,其中,所述头像中包括所述对象的名称指示文本。
35.第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
36.所述存储器,用于存储计算机程序;
37.所述处理器,用于执行所述存储器中所存储的程序,实现第一方面任一项所述的头像生成方法。
38.第四方面,本技术实施例提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面任一项所述的头像生成方法。
39.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的该方法,通过将对象的标识文本转换为标识数值,根据数值与背景颜色值之间的映射关系,获得该标识数据对应的背景颜色值,将获得的该背景颜色值作为该对象的头像的背景色,生成包括对象的名称指示文本的头像。该方式,用于选取颜色的标识数值基于对象的标识文本转换得到,使得选取的背景颜色值与对象的标识文本对应一致,在对象的标识文本不相同的情况下,获得背景颜色值也不相同,反之,在对象的标识文本相同的情况下,获得的背景颜色值也相同。从而使得生成头像的背景颜色体现了对象的个性化,避免了大量用户的头像背景相同的情况。并且,通过映射关系为数值配置背景颜色值,使得配置的背景颜色值可控,避免了随机生成头像的方式可能导致的无法从背景中快速识别昵称的问题。
附图说明
40.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术实施例中头像生成系统的架构示意图;
43.图2为本技术实施例中头像生成方法流程示意图;
44.图3为本技术实施例中生成用户头像的方法流程示意图;
45.图4为本技术实施例中头像生成装置的结构示意图;
46.图5为本技术实施例中电子设备的结构示意图。
具体实施方式
47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.本技术实施例中,为了解决现有头像生成方法,无法有效区分不同用户,或者背景与昵称颜色相近导致无法快速识别昵称的问题,提供了一种头像生成方法。
49.本技术实施例提供的头像生成方法可以应用于如图1所示的头像生成系统,该头像生成系统中包括终端10和服务器11。
50.终端10与服务器11建立通信连接。
51.在终端10或服务器11上安装用于实现头像生成方法的软件程序,也可以是,同时在终端10和服务器11上安装该用于实现头像生成方法的软件程序。
52.该用于实现头像生成方法的软件程序独立于第三方应用程序,由第三方应用程序通过预留的接口调用该用于实现头像生成方法的软件程序,实现对第三应用程序中对象的头像的生成控制。
53.或者,该用于实现头像生成方法的软件程序继承在应用程序中,该应用程序运行该用于实现头像生成方法的软件程序,实现对该应用程序中对象的头像的生成控制。
54.其中,终端10具体可以是手机、平板电脑、电脑等能够安装并运行软件程序的电子设备,该电子设备具备显示功能。
55.该系统中还可以包括数据库,服务器11或终端10将生成的对象的头像与该对象的标识文本等信息绑定存储在数据库中。
56.基于该系统架构,如图2所示,终端或服务器执行该头像生成方法的主要过程包括:
57.步骤201,获取对象的标识文本。
58.本技术实施例中,对象是指任何需要以头像显示的人和/或物,例如,对象可以是某些应用程序的使用用户,这些使用用户可以是已登录或已注册该应用程序。又例如,该对象可以是商品,可以是某些应用程序中已经录入的商品。
59.示例性实施例中,对象的标识文本是指能够标识该对象的至少一个属性的文本信息,对象的标识文本包括该对象的名称文本,或,该对象所属分类的名称文本。共同拥有同一个或多个属性的对象属于同一个类别,该类别的名称可以是预先配置,一个类别具有能够标识为类别的名称文本。
60.例如,在对象为用户时,该对象的标识文本可以根据需要采用该用户的昵称(即对象的名称文本),或者,根据需要采用该用户所属部门的名称(即对象所属分类的名称文本)。假如在企业内部,员工属于技术开发部,即该员工所属类别的名称为技术开发部。
61.又例如,在对象为商品时,该对象的标识文本可以是商品名称,或者,该对象的标识文本为商品所属商品类别的名称。
62.步骤202,将对象的标识文本转换为标识数值。
63.示例性实施例中,将对象的标识文本转换为标识数值的过程主要包括:获取标识文本中的每个字符各自对应的转码数值;获取每个字符各自对应的转码数值累加得到的和值;基于该和值,得到该标识文本对应的标识数值。该实施方式中,由于是将标识文本中的每个字符转换后的数值累加,使得在标识文本不相同时,获得的转码数值也不相同;在两个对象的标识文本相同的情况下,获得的转码数值也相同。从而保证了转码数值与标识文本起到相同的标识作用。
64.例如,用户的昵称为“user”,获取“u”的转码数值15、“s”、的转码数值16,“e”的转码数值17,“r”的转码数值18,将15、16、17和18的和,作为用户昵称“user”的标识数值。
65.其中,获取标识文本中的每个字符各自对应的转码数值,具体可以是通过查询预设配置的字符与专门数值之间的映射关系,获取标识文本中每个字符各自对应的转码数值。
66.该映射关系可以是现有的字符编码库,例如unicode编码库。当然,也可以按照预设规则自行定义映射关系,只需要映射关系中字符对应的转码数值唯一即可,也就是不同的字符对应的转码数值也不相同。为了方便运算,在定义字符对应的转码数值时,定义为大于或等于0的整数。
67.在采用unicode编码时,可以通过字符串的charcodeat方法获取需要转码文字的unicode编码,该charcodeat方法的返回值为在0-65535之间的整数。
68.其中,在获取对象的标识文本每个字符各自对应的转码数值的过程中,对该对象的标识文本进行拆分得到每个字符,该拆分方式可以按照设定的循环顺序,依次获取该对象的标识文本的每个字符。该设定的循环顺序可以是从起始字符依次获取直至末尾字符,也可以是从末尾字符依次获取直至起始字符,当然,也可以是其他拆分方式,本技术实施例并不限制对标识文本的拆分方式。
69.步骤203,基于数值与背景颜色值之间的映射关系,获取转换得到的标识数值对应的背景颜色值。
70.示例性实施例中,数值与背景颜色值之间的映射关系采用列表形式或数据库表形式,采用对标识文本转换得到的标识数值查询该列表或数据库表,获得该标识数值对应的背景颜色值。
71.其中,背景颜色值为颜色的数值表示形式,一个数值唯一对应一个颜色。
72.示例性实施例中,映射关系中配置的背景颜色值的取值范围,参考头像中显示的
用于指示对象的文本的颜色值,使得映射关系中任一背景颜色值与头像中显示的该文本的颜色值的差值,不小于预设值,以保证最终生成的头像中背景色与文本色的对比度不低于预设对比度,使得能够便于区分文本和背景。
73.示例性实施例中,因为颜色的种类有限,为了避免文本的对象的标识文本转换得到的标识数值超出了颜色的种类,而无法获得对应的背景颜色值的情况,在获取标识数值对应的背景颜色值时,包括以下处理:获取映射关系中包括的背景颜色值的种类n,将对象的标识数值对该背景颜色值的种类n取余数,从该映射关系中获得该余数对应的背景颜色值,作为该标识数值对应的背景颜色值。该处理,能够使得在标识数值较大时,也能够通过有限个数的映射关系,获得背景颜色值。该方式在配置映射关系时,假设背景颜色的种类为n,则数值与背景颜色值的映射关系中,配置0到(n-1)各自对应的背景颜色值。
74.步骤204,将获取的背景颜色值设置为该对象的头像的背景色,生成该对象的头像,其中,该头像中包括该对象的名称指示文本。
75.其中,对象的名称指示文本在头像中的显示颜色值,与映射关系中背景颜色值的差值,不小于预设值。保证头像背景与文本的对比度不低于预设对比度值,以使得能够便于区分头像中的文本和背景,避免头像中背景与文本颜色接近,难以区分的问题。
76.示例性实施例中,生成对象的头像过程中,从对象的名称文本中,截取获得该对象的名称指示文本;将对象的名称指示文本,设置在对象的头像的预设区域内。
77.其中,对象的名称指示文本可以对象的名称的全部文本,也可以是对象的名称的部分文本。例如,对象的名称指示文本是指对象的名称的起始n个字符,与末尾m个字符的串接。或者,对象的名称指示文本是指对象的名称末尾m个字符,或者,对象的名称指示文本是指对象的名称起始的n个字符。n为大于或等于1的整数,m为大于或等于1的整数。
78.受限于头像像素区域大小以及单个字符所占用的像素区域大小,在头像中显示的对象的名称指示文本可以是对象名称的部分文本。该部分文本包括的总字符数不超过设定个数,也就是n+m的和不大于设定个数。该设定个数可以根据头像像素区域大小以及单个字符所占用的像素区域大小确定,满足头像上的字符不会超出头像的边界范围。
79.示例性实施例中,为了使得对象的名称指示文本能够准确指示该对象,从对象的名称文本中,截取获得对象的名称指示文本包括:获取对象的名称文本所属的类型;根据该类型对应的截取方式,从该对象的名称文本中,截取获得该对象的名称指示文本。
80.具体地,该截取方式包括截取的文本长度以及截取文本的位置;截取文本的位置包括对象的名称文本的起始文本、末尾文本或任意中间位置文本中的至少一种。
81.例如,如果用户采用的是中文昵称,该用户的名称指示文本取该中文昵称的后两个字符,在头像中显示该名称指示文本;如果用户采用的是英文昵称,该用户的名称指示文本取该英文昵称的第一个字符或者第一个单词包括的字符,在头像中显示该名称指示文本。
82.以下结合附图3所示,对生成头像的过程进行举例说明。
83.步骤301,获取用户名;
84.步骤302,将用户名转码为整数,采用parseint函数将字符串转换为整数,例如,parseint(name[index].charcodeat(0),10)=798;
[0085]
步骤303,按照转换得到的整数查询颜色列表,获得头像背景色,例如,该颜色列表
表示为[

#4e83fd’,’#f6730a’,’#a2c007’,’#15beec’],根据该颜色列表的数量获得有颜色值为798%4=2;
[0086]
步骤304,判断用户昵称是中文,还是英文,如果是中文,执行步骤305,如果是英文,执行步骤306;
[0087]
步骤305,在用户昵称为中文时,截取用户昵称的后两个字符,作为名称指示文本,执行步骤307;
[0088]
步骤306,在用户昵称为英文时,截取用户昵称的第一个字符,作为名称指示文本,执行步骤307;
[0089]
步骤307,生成头像,该头像的背景色为’#f6730a’代表的颜色,头像中显示名称指示文本。
[0090]
本技术实施例提供的该方法,通过将对象的标识文本转换为标识数值,根据数值与背景颜色值之间的映射关系,获得该标识数据对应的背景颜色值,将获得的该背景颜色值作为该对象的头像的背景色,生成包括对象的名称指示文本的头像。该方式,用于选取颜色的标识数值基于对象的标识文本转换得到,使得选取的背景颜色值与对象的标识文本对应一致,在对象的标识文本不相同的情况下,获得背景颜色值也不相同,反之,在对象的标识文本相同的情况下,获得的背景颜色值也相同。从而使得生成头像的背景颜色体现了对象的个性化,避免了大量用户的头像背景相同的情况。并且,通过映射关系为数值配置背景颜色值,使得配置的背景颜色值可控,避免了随机生成头像的方式可能导致的无法从背景中快速识别昵称的问题。
[0091]
通过以上分析过程可知,在多个对象具有相同的标识文本的情况下,该多个对象的头像的背景色会相同,使得能够快速识别出这多个对象属于同一个类别。例如,对于企业中同一个部门的员工,在采用员工的部门名称生成该部门内员工的头像时,这些员工的头像会具有相同的背景颜色值,从而能够从企业的全部员工中快速识别出属于同一部门的员工。
[0092]
基于同一构思,本技术实施例中提供了一种头像生成装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:
[0093]
获取模块401,用于获取对象的标识文本;
[0094]
转换模块402,用于将所述标识文本转换为标识数值;
[0095]
处理模块403,用于基于数值与背景颜色值之间的映射关系,获取所述标识数值对应的背景颜色值;
[0096]
生成模块404,用于将获取的所述背景颜色值设置为所述对象的头像的背景色,生成所述对象的头像,其中,所述头像中包括所述对象的名称指示文本。
[0097]
基于同一构思,本技术实施例中还提供了一种电子设备,如图5所示,该电子设备主要包括:处理器501、存储器502和通信总线503,其中,处理器501和存储器502通过通信总线503完成相互间的通信。其中,存储器502中存储有可被至处理器501执行的程序,处理器501执行存储器502中存储的程序,实现如下步骤:
[0098]
获取对象的标识文本;
[0099]
将所述标识文本转换为标识数值;
[0100]
基于数值与背景颜色值之间的映射关系,获取所述标识数值对应的背景颜色值;
[0101]
将获取的所述背景颜色值设置为所述对象的头像的背景色,生成所述对象的头像,其中,所述头像中包括所述对象的名称指示文本。
[0102]
上述电子设备中提到的通信总线503可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0103]
存储器502可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器501的存储装置。
[0104]
上述的处理器501可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0105]
在本技术的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的头像生成方法。
[0106]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
[0107]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0108]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1