一种图片加载方法、系统、存储介质及其计算机设备与流程

文档序号:27312628发布日期:2021-11-09 22:58阅读:65来源:国知局
一种图片加载方法、系统、存储介质及其计算机设备与流程

1.本发明涉及直播弹幕显示技术领域,尤其涉及一种图片加载方法、系统、存储介质及其计算机设备。


背景技术:

2.现有直播间的弹幕实现方案:如果一条弹幕里边有5种用户称号标识,至少需要5个view(安卓控件的基类)控件来承载。如果某种用户称号标识由多张图组成,或者有动态文字绘制,就需要更多的view控件组装来承载这个功能。
3.现有技术中每条弹幕请求上设置的每一标识信息都需要有对应的view控件来承载,当某一弹幕信息写到的标识信息越多时,则需要的view控件则越多;直播间弹幕样式多,需求变动频繁,view控件多刷新效率低;因此现有的技术缺陷:1、view控件太多,刷新一次耗时较长;2、占内存加大;3、添加和修改不仅需要改弹幕显示,还需要配置xml(可扩展标记语言,extensible markup language)控件,操作繁琐容易丢失引起漏洞。
4.综上可知,现有的方法在实际使用上,存在着较多的问题,所以有必要加以改进。


技术实现要素:

5.针对上述的缺陷,本发明的目的在于提供一种图片加载方法,系统、存储介质及其计算机设备,能够提取出终端设备应用程序中的广告数据作为证据存储,以便于日后诉讼的证据呈现。
6.为了实现上述目的,本发明提供一种图片加载方法,包括步骤:
7.根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;
8.根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;
9.将所述行内标签数组对象添加到显示组件中进行显示。
10.根据所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤之前包括:
11.根据预置的行内标签种类和顺序以配置所述预定规则。
12.所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤包括:
13.根据所述预定规则调用具体行内标签实现类;
14.根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。
15.优选的是,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤进一步包括:
16.根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。
17.还提出了一种图片加载系统,包括有:
18.转化单元,用于根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;
19.组合生成单元,用于根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;
20.显示单元,用于将所述行内标签数组对象添加到显示组件中进行显示。
21.优选的是,还包括有:
22.配置单元,用于根据预置的行内标签种类和顺序以配置所述预定规则。
23.根据所述的图片加载系统,所述转化单元包括有:
24.调用子单元,用于根据所述预定规则调用具体行内标签实现类;
25.转化子单元,用于根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。
26.优选的是,所述转化单元还包括有:
27.文字绘制子单元,用于根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。
28.另外,还提供了一种存储介质和计算机设备,所述存储介质用于存储一种用于执行上述图片加载方法的计算机程序。
29.所述计算机设备包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的图片加载方法。
30.本发明所述的图片加载方法包括:根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;将所述行内标签数组对象添加到显示组件中进行显示。还提供了一种图片加载系统、用于存储执行所述方法的计算机程序的存储介质以及实现所述方法的计算机设备。借此,本发明能够最大程度上减少控件的数量,提高刷新效率,减少卡顿。降低维护时间成本。
附图说明
31.图1为本发明优选实施例采用的所述图片加载方法的步骤流程图;
32.图2为本发明优选实施例采用的所述图片加载方法的具体流程图;
33.图3为本发明优选实施例所述图片加载系统的结构框图;
34.图4为本发明第二实施例所述图片加载系统的具体结构示意图。
具体实施方式
35.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
36.需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构
或特性结合到其它实施例中是在本领域技术人员的知识范围内的。
37.此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求书中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此系包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。
38.图1示出本发明优选实施例所述的图片加载方法,包括步骤:
39.s101:根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象。其中,本实施例的所述图片优选为直播间的称号标识图片,例如:等级、贵族、粉丝团、铭牌以及艺人等标识图片;根据需求将一个用户相应的用于显示在直播间的标识图片逐个转化为对应的行内标签对象。
40.s102:根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象。一个用户的称号标识具有两个以上时,每个称号标识的图片转化为对应的行内标签对象,则将该用户全部的所述行内标签对象根据预置的优先级排序进行动态组合,以生成一个行内标签数组对象;所述行内标签数组对象优选为生成为spannablestringbuilder(一种字符串类型)。
41.s103:将所述行内标签数组对象添加到显示组件中进行显示。再将该行内标签数组对象添加到显示组件进行显示,即可在直播间中呈现;优选所述显示组件为textview控件,此时仅需要一个view控件,而一个行内标签数组对象中包括了多个称号标识图片,故一个view控件就可用于在弹幕中显示多个称号标识图片。减少了直播间弹幕绘制层级,调高绘制效率,降低维护时间成本。
42.参见图2,步骤s101之前包括:
43.s201:根据预置的行内标签种类和顺序以配置所述预定规则。
44.所述步骤s101包括:
45.s202、根据所述预定规则调用具体行内标签实现类;
46.s203、根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。所述行内标签种类和顺序的相应参数根据具体的实际应用进行设置,不同的图片格式或类型对应转化为不同的行内标签种类,同时多个图片的转化也遵循相应的顺序。
47.优选的是,所述步骤s101进一步包括:
48.根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。即根据特定的规则,组装一个文字属性数据,包括文字的内容、大小、颜色、位置、文字内容长度,在绘制行内标签的时候,使用文字绘制出来。
49.或者,所述步骤s101进一步包括:
50.将所述图片进行缩放处理,并绘制合成在所述行内标签对象中的对应位置。根据图片的尺寸或者是多图的情况下,对图片进行缩放处理;优选在对图片进行缩放处理后,使用画布工具canvas,将各个图片绘制在相应的位置,最后将画布canvas转成一张图。
51.或者,所述步骤s101进一步包括:
52.根据图片地址加载网络图片并将所述网络图片进行转化与缩放合成到所述行内标签对象中。网络图片加载使用freso库(一种图片加载开源库)处理,下载完成之后根据需求把图片转化,缩放合成等处理,然后放在缓存里边使用。
53.所述步骤s102包括:
54.204:预置所述行内标签对象的组合顺序和优先级等级;
55.205:根据所述组合排序和所述优先级等级将全部的所述行内标签对象进行动态组合,以生成所述行内标签数组对象。即逐个生成的行内标签对象按照定制好的顺序,和定制的优先级,将其全部进行动态组合以生成一个行内标签数组对象。
56.进一步的是,所述步骤s102进一步包括:
57.提取所述行内标签对象进行动态组合的数据并自动集合生成所述行内标签数组对象。
58.所述图片为本地图片和/或点九图和/或网络图片;其中,本地图片是指对应的应用程序内的图片;点九图做缩放处理,然后根据需要是否做合成;网络图片只有一个图片地址,图片在服务器,需要先下载下来然后去展示。
59.图3示出本发明优选实施例所述的图片加载系统100,包括有转化单元10、组合生成单元20以及显示单元30;其中:
60.转化单元10用于根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;组合生成单元20用于根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;显示单元30用于将所述行内标签数组对象添加到显示组件中进行显示。本实施例的所述图片优选为直播间的称号标识图片,例如:等级、贵族、粉丝团、铭牌以及艺人等标识图片;根据需求将一个用户相应的用于显示在直播间的标识图片逐个转化为对应的行内标签对象;一个用户的称号标识具有两个以上时,每个称号标识的图片转化为对应的行内标签对象,则将该用户全部的所述行内标签对象根据预置的优先级排序进行动态组合,以生成一个行内标签数组对象;所述行内标签数组对象优选为生成为spannablestringbuilder(一种字符串类型);再将该行内标签数组对象添加到textview控件进行显示,即可在直播间中呈现;此时仅需要一个view控件,而一个行内标签数组对象中包括了多个称号标识图片,故一个view控件就可用于在弹幕中显示多个称号标识图片。减少了直播间弹幕绘制层级,调高绘制效率,降低维护时间成本。
61.参见图4,在另一实施例中,还包括有配置单元40,所述配置单元40用于根据预置的行内标签种类和顺序以配置所述预定规则。
62.所述转化单元10包括有调用子单元101和转化子单元102;其中:
63.调用子单元101用于根据所述预定规则调用具体行内标签实现类;转化子单元102用于根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。
64.所述组合生成单元20包括有预置子单元201和动态组合子单元202;其中:
65.预置子单元201用于预置所述行内标签对象的组合顺序和优先级等级;动态组合子单元202用于根据所述组合排序和所述优先级等级将全部的所述行内标签对象进行动态组合,以生成所述行内标签数组对象。
66.组合顺序与优先级等级举例如下:一条弹幕有5个称号分别是称号a、称号b、称号c、称号d、称号e;
67.则组合顺序为:称号a、称号b、称号c、称号d、称号e;
68.优先级为:如果同时有一个称号x,称号x也排在第二个位置,但是称号x和称号b同时只能显示一个,如果规定称号b的优先级大于称号x,那么数据解析的时候会优先解析称号b,如果称号b有并且解析了,即使有称号x的数据,也不解析直接忽略掉,如果没有称号b的数据,就需要解析称号x;这就是同一位置的优先级定义。
69.确定优先级、顺序的机制算法如下:
70.一、首先设置顺序:
71.贵族等级粉丝团名牌艺人12345
72.二、解析数据:
73.原理主要就两步:
74.第一步:是否解析(实现同一位置,只取优先级高的);
75.第二步:放到数组的哪个位置。
76.设初始标记mark=00000000(右边起始)
77.(1)解析等级:当前标记mark=00000000
78.①
等级排位是2,判断mark的第2位等于0,需要解析。
79.②
判断mark第2位前边有几个1,当前第2位前边没有1,所以index=0;
80.③
将span(行内标签)插入spanlist的第0个位置,置标记位。得标记mark=00000010。
81.(2)解析贵族:当前标记mark=00000010
82.①
贵族排位是1,判断mark的第一位等于0,需要解析。
83.②
判断mark第1位前边有几个1,当前第1位前边没有1,所以index=0;
84.③
将span插入spanlist的第0个位置,置标记位。得标记mark=00000011。
85.(3)解析名牌:当前标记mark=00000011
86.①
名牌排位是4,判断mark的第4位等于0,需要解析。
87.②
判断mark第4位前边有几个1,当前第4位前边有两个1,所以index=2;
88.③
将span插入spanlist的第2个位置,置标记位。得标记mark=00001011。
89.(4)解析艺人:当前标记mark=00001011
90.①
艺人排位是5,判断mark的第5位等于0,需要解析。
91.②
判断mark第5位前边有3个1,所以index=3;
92.③
将span插入spanlist的第3个位置,置标记位。得标记mark=00011011。
93.(5)解析粉丝团:当前标记mark=00011011
94.①
粉丝团排位是3,判断mark的第3位等于0,需要解析。
95.②
判断mark第3位前边有2个1,所以index=2;
96.③
将span插入spanlist的第2个位置,置标记位。得标记mark=00011111。
97.以上解析顺序没有限制,可以随意调换排序,输出顺序和设置顺序都完全一样;同时实现了同一位置只取优先级最高的数据。
98.更好的是,所述组合生成单元还包括有集合生成子单元,所述集合生成子单元用于提取所述行内标签对象进行动态组合的数据并自动集合生成所述行内标签数组对象。
99.所述图片为本地图片和/或点九图和/或网络图片。
100.进一步的,在其他实施例中,所述转化单元10还包括有文字绘制子单元,所述文字绘制子单元用于根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。即根据特定的规则,组装一个文字属性数据,包括文字的内容、大小、颜色、位置、文字内容长度,在绘制span的时候,使用文字绘制出来。
101.或者,所述转化单元10还包括有图片合成子单元,所述图片合成子单元用于将所述图片进行缩放处理,并绘制合成在所述行内标签对象中的对应位置。根据图片的尺寸或者是多图的情况下,对图片进行缩放处理;优选在对图片进行缩放处理后,使用画布工作canvas,将各个图片绘制在相应的位置,最后将画布canvas转成一张图。
102.或者,所述转化单元10还包括有网络图片加载子单元,所述网络图片加载子单元用于根据图片地址加载网络图片并将所述网络图片进行转化与缩放合成到所述行内标签对象中。网络图片加载使用freso库(一种图片加载开源库)处理,下载完成之后根据需求把图片转化,缩放合成等处理,然后放在缓存里边使用。
103.本发明还提供一种存储介质,用于存储如图1~图2所述图片加载方法的计算机程序。例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输和/或被存储在根据程序指令运行的计算机设备的存储介质中。在此,根据本技术的一个实施例包括如图3或如图4所示图片加载系统的计算机设备,所述计算机设备优选包括用于存储计算机程序的存储介质和用于执行计算机程序的处理器,其中,当该计算机程序被该处理器执行时,触发该计算机设备执行基于前述多个实施例中的方法和/或技术方案。
104.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
105.根据本发明的方法可以作为计算机实现方法在计算机上实现、或者在专用硬件中实现、或以两者的组合的方式实现。用于根据本发明的方法的可执行代码或其部分可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上以便当所述程序产品在计算机上执行时执行根据本发明的方法的非临时程序代码部件。
106.在优选实施例中,计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。
107.综上所述,本发明所述的图片加载方法包括:根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;根据预置的优先级排序将全部的所述行内标签对象
进行动态组合,以生成行内标签数组对象;将所述行内标签数组对象添加到显示组件中进行显示。还提供了一种图片加载系统、用于存储执行所述方法的计算机程序的存储介质以及实现所述方法的计算机设备。借此,本发明能够最大程度上减少控件的数量,提高刷新效率,减少卡顿。降低维护时间成本。
108.当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
109.本发明还公开了a1、一种图片加载方法,包括步骤:
110.根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;
111.根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;
112.将所述行内标签数组对象添加到显示组件中进行显示。
113.a2、根据a1所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤之前包括:
114.根据预置的行内标签种类和顺序以配置所述预定规则。
115.a3、根据a2所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤包括:
116.根据所述预定规则调用具体行内标签实现类;
117.根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。
118.a4、根据a3所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤进一步包括:
119.根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。
120.a5、根据a3所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤进一步包括:
121.将所述图片进行缩放处理,并绘制合成在所述行内标签对象中的对应位置。
122.a6、根据a3所述的图片加载方法,所述根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象的步骤进一步包括:
123.根据图片地址加载网络图片并将所述网络图片进行转化与缩放合成到所述行内标签对象中。
124.a7、根据a1所述的图片加载方法,所述根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象的步骤包括:
125.预置所述行内标签对象的组合顺序和优先级等级;
126.根据所述组合排序和所述优先级等级将全部的所述行内标签对象进行动态组合,以生成所述行内标签数组对象。
127.a8、根据a7所述的图片加载方法,所述根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象的步骤进一步包括:
128.提取所述行内标签对象进行动态组合的数据并自动集合生成所述行内标签数组对象。
129.a9、根据a1所述的图片加载方法,所述图片为本地图片和/或点九图和/或网络图片;和/或
130.所述显示组件为textview控件。
131.b10、一种图片加载系统,包括有:
132.转化单元,用于根据预定规则将用于显示的至少两张图片转化生成对应的行内标签对象;
133.组合生成单元,用于根据预置的优先级排序将全部的所述行内标签对象进行动态组合,以生成行内标签数组对象;
134.显示单元,用于将所述行内标签数组对象添加到显示组件中进行显示。
135.b11、根据b10所述的图片加载系统,还包括有:
136.配置单元,用于根据预置的行内标签种类和顺序以配置所述预定规则。
137.b12、根据b11所述的图片加载系统,所述转化单元包括有:
138.调用子单元,用于根据所述预定规则调用具体行内标签实现类;
139.转化子单元,用于根据所述具体行内标签实现类将至少两个所述图片转化生成对应的所述行内标签对象。
140.b13、根据b12所述的图片加载系统,所述转化单元还包括有:
141.文字绘制子单元,用于根据所述预定规则组装一个文字属性数据以对所述行内标签对象进行文字绘制。
142.b14、根据b12所述的图片加载系统,所述转化单元还包括有:
143.图片合成子单元,用于将所述图片进行缩放处理,并绘制合成在所述行内标签对象中的对应位置。
144.b15、根据b12所述的图片加载系统,所述转化单元还包括有:
145.网络图片加载子单元,用于根据图片地址加载网络图片并将所述网络图片进行转化与缩放合成到所述行内标签对象中。
146.b16、根据b10所述的图片加载系统,所述组合生成单元包括有:
147.预置子单元,用于预置所述行内标签对象的组合顺序和优先级等级;
148.动态组合子单元,用于根据所述组合排序和所述优先级等级将全部的所述行内标签对象进行动态组合,以生成所述行内标签数组对象。
149.b17、根据b16所述的图片加载系统,所述组合生成单元还包括有:
150.集合生成子单元,用于提取所述行内标签对象进行动态组合的数据并自动集合生成所述行内标签数组对象。
151.b18、根据b10所述的图片加载系统,所述图片为本地图片和/或点九图和/或网络图片。
152.c19、一种存储介质,用于存储一种用于执行权利要求a1~a9中任意一种所述图片加载方法的计算机程序。
153.d20、一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求a1~a9任一项所述的图片加载方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1