CN113791751B - 一种轮播图显示方法、系统及存储介质和终端设备 - Google Patents
一种轮播图显示方法、系统及存储介质和终端设备 Download PDFInfo
- Publication number
- CN113791751B CN113791751B CN202111134866.8A CN202111134866A CN113791751B CN 113791751 B CN113791751 B CN 113791751B CN 202111134866 A CN202111134866 A CN 202111134866A CN 113791751 B CN113791751 B CN 113791751B
- Authority
- CN
- China
- Prior art keywords
- carousel
- static
- canvas
- canvases
- images
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000003068 static effect Effects 0.000 claims abstract description 131
- 208000018747 cerebellar ataxia with neuropathy and bilateral vestibular areflexia syndrome Diseases 0.000 claims abstract description 99
- 238000005096 rolling process Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000000694 effects Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 abstract description 7
- 230000010365 information processing Effects 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例公开了一种轮播图显示方法、系统及存储介质和终端设备,应用于信息处理技术领域,比如车载等场景下的信息处理。应用终端会在开启应用界面时,创建多个静态画布内置于滚动画布,这样,可以获取轮播图的图片参数,根据图片参数分别在多个静态画布上绘制轮播图像,得到多个轮播图像,并在应用界面的目标区域展示绘制的轮播图像。这样,在轮播图显示的过程中,通过创建多个静态画布的方式,实现了可以同时绘制多个轮播图像,减少了轮播图显示的时间,同时在静态画布上绘制轮播图像的方式所占用的资源较少,使得轮播图显示的过程所占用的资源也会较少,从而减少了在应用界面展示轮播图像时的卡顿现象。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种轮播图显示方法、系统及存储介质和终端设备。
背景技术
如今在很多应用的应用界面都会使用轮播的方式显示图片,即在应用界面的某个区域按照一定周期依次循环地显示多个图片(以下称为轮播图),这样可以通过较少的资源为用户展现较多的内容,用户可以点击应用界面当前显示的轮播图,并跳转到与轮播图相关的应用界面。
现有的轮播图显示方法中,一般采用图像视图(ImageView)控件,通过ImageView控件负责轮播图的绘制及展示,但是在实际应用过程中,在轮播图显示的过程中会出现卡顿的情况,给用户带来不好的用户体验。
发明内容
本发明实施例提供一种轮播图显示方法、系统及存储介质和终端设备,实现了在轮播图显示过程中避免卡顿现象。
本发明实施例一方面提供一种轮播图显示方法,包括:
当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中;
获取所述多个静态画布分别对应的轮播图的图片参数;
根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;
在所述应用界面的目标区域展示N个所述轮播图像。
本发明实施例另一方面提供一种轮播图显示系统,包括:
画布创建单元,用于当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中;
参数获取单元,用于获取所述多个静态画布分别对应的轮播图的图片参数;
绘制单元,用于根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;
展示单元,用于在所述应用界面的目标区域展示N个所述轮播图像。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的轮播图显示方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的轮播图显示方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
可见,在本实施例的方法中,应用终端会在开启应用界面时,创建多个静态画布内置于滚动画布,这样,可以获取轮播图的图片参数,根据图片参数分别在多个静态画布上绘制轮播图像,得到多个轮播图像,并在应用界面的目标区域展示绘制的轮播图像。这样,在轮播图显示的过程中,通过创建多个静态画布的方式,实现了可以同时绘制多个轮播图像,减少了轮播图显示的时间,同时在静态画布上绘制轮播图像的方式所占用的资源较少,使得轮播图显示的过程所占用的资源也会较少,从而减少了在应用界面展示轮播图像时的卡顿现象。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种轮播图显示方法的示意图;
图2是本发明一个实施例提供的一种轮播图显示方法的流程图;
图3是本发明一个实施例中应用终端显示的应用界面的示意图;
图4是本发明一个实施例中在静态画布中绘制轮播图像的方法流程图;
图5是本发明一个应用实施例提供的轮播图显示方法的流程图;
图6是本发明一个应用实施例中在UIView中绘制轮播图像的方法流程图;
图7是本发明一个应用实施例中在目标区域移动轮播图像的示意图;
图8是本发明另一应用实施例中轮播图显示方法所应用于的分布式系统的示意图;
图9是本发明另一应用实施例中区块结构的示意图;
图10是本发明实施例提供的一种轮播图显示系统的逻辑结构示意图;
图11是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种轮播图显示方法,主要可以应用于任一应用终端,比如视频应用终端或新闻应用终端等,其中,应用终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等设备。
具体地,如图1所示,当应用终端在显示应用界面时,可以执行如下步骤以实现轮播图的显示:
当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中;获取所述多个静态画布分别对应的轮播图的图片参数;根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;在所述应用界面的目标区域展示N个所述轮播图像。
这样,在轮播图显示的过程中,通过创建多个静态画布的方式,实现了可以同时绘制多个轮播图像,减少了轮播图显示的时间,同时在静态画布上绘制轮播图像的方式所占用的资源较少,使得轮播图显示的过程所占用的资源也会较少,从而减少了在应用界面展示轮播图像时的卡顿现象。
本发明实施例提供一种轮播图显示方法,主要是由上述的应用终端所执行的方法,流程图如图2所示,包括:
步骤101,当开启应用界面时,创建滚动画布及多个静态画布,静态画布的数量为N+2,N为大于1或等于1的自然数,多个静态画布内置于滚动画布中。
可以理解,用户可以操作应用终端,使得应用终端显示一应用界面,比如应用终端的首页等,若该应用界面的目标区域需要以轮播的方式显示图片,即在目标区域按照一定周期依次循环地显示多个轮播图,在本实施例中,当开启该应用界面时,需要创建滚动画布和多个静态画布,静态画布的数量为N+2,这里N为当前在应用界面的目标区域可以显示的轮播图的数量,且多个静态画布是内置于滚动画布中的,每个静态画布在滚动画布中都有一个对应的位置,该位置是动态变化的。
具体地,设置每个静态画布的第一参数,根据第一参数创建多个静态画布;设置滚动画布的第二参数,根据第二参数创建滚动画布。其中,每个静态画布的第一参数可以相同,包括静态画布的属性信息,比如静态画布的宽度为单张轮播图的宽度,高度为单张轮播图的高度;第二参数包括滚动画布的属性信息,比如滚动画布的宽度为N+2个静态画布的宽度之和,高度与静态画布的高度相同,还可以包括滚动画布的偏移量为一个静态画布的宽度,具体为当前已绘制轮播图的下一帧轮播图,即滚动画布中的轮播图在滚动过程中一次向一个方向滚动一个轮播图。
在具体应用中,静态画布主要是用于绘制图片的空间,具体可以为用户界面视图(UIView),而滚动画布继承了静态画布,且还具备滚动、缩放等效果,具体可以为用户滚动视图(UIScrollView)。
例如图3所示为应用终端显示的应用界面,在应用界面的目标区域可以显示3个轮播图像,其中轮播图像1为大图,为应用界面正面展示的轮播图像,另外轮播图像2和3为小图,为缩小展示的轮播图像,则需要创建3+2=5个静态画布,静态画布的宽度为轮播图像1的宽度,滚动画布的宽度为5个静态画布的宽度之和,且滚动画布中只有部分静态画布中绘制的轮播图像可以显示到目标区域,另一部分画布中的轮播图像放置在应用界面之外,即图中虚线框内的轮播图像4和5。
步骤102,获取多个静态画布分别对应的轮播图的图片参数。
具体地,在应用终端中会事先储存轮播图集合的信息,在轮播图集合中可以包括多个轮播图,且轮播图集合包括的轮播图的数量M大于或等于上述N+2,若M等于N+2,则需要获取轮播图集合中所有轮播图分别对应的图片参数;若M大于N+2,需要从轮播图集合中选取N+2个轮播图分别对应的图片参数。
需要说明的是,若轮播图集合中包括的多个轮播图的大小相同,且与上述101中创建的静态画布的大小相同,则可以直接获取轮播图集合中轮播图的图片参数;若轮播图集合中包括的多个轮播图的大小不同,且与上述静态画布的大小不同,需要先将各个轮播图都缩放为与静态画布的大小一致的图片,然后再获取缩放后轮播图的图片参数。
这里图片参数具体为轮播图的属性信息,可以包括各个轮播图的像素大小,轮播图中各个像素点的信息(比如颜色信息等)。其中,轮播图可以包括本地存储的图片,还可以包括网络图片。
步骤103,根据图片参数,分别在多个静态画布中绘制轮播图像,得到多个轮播图像。
本实施例中,为了使得在绘制轮播图像的过程中,可以减少对应用终端的中央处理的占用,可以采用绘制位图的方式进行绘制,具体地,如图4所示,当在多个静态画布上绘制轮播图像时,可以通过如下步骤来实现:
步骤1031,根据轮播图的像素大小,分配与轮播图的像素大小一致的内存空间。该内存空间用于储存轮播图的信息。
步骤1032,在上述创建的内存空间中创建轮播图的颜色空间,颜色空间用于储存轮播图的颜色信息,这些颜色信息可以包括轮播图中各个像素点的颜色信息等。
步骤1033,根据图片参数、内存空间及颜色空间的信息,获取绘制轮播图像的参数对象。这里参数对象包括了在静态画布中绘制轮播图是用到的所有参数,具体地,应用终端可以将图片参数、内存空间及颜色空间的信息等封装成参数对象。
其中,内存空间的信息可以包括内存空间的大小及地址等,颜色空间的信息可以包括颜色空间的大小和地址等,且在参数对象中还可以包括轮播图中各个像素的每个组件的位数等信息。
步骤1034,将参数对象赋值给静态画布的相应属性,使得静态画布的各个属性的属性值为参数对象中相应参数的信息。
需要说明的是,应用终端可以开启多个线程,每个线程用于在一个静态画布中绘制一个轮播图像,独立地按照上述步骤1031到1034绘制轮播图像,这样可以同时在多个静态画布中绘轮播图像,可以减少轮播图像绘制的时间,进而减少了在应用界面上展示轮播图像的时间;或者,应用终端可以通过上述步骤1031到1034,一次性地完成多个静态画布中轮播图像的绘制,即在执行上述步骤1031时直接分配N+2个内存空间,在执行步骤1032时会分别在各个内存空间中创建相应轮播图的颜色空间,在执行步骤1033时分别获取在各个静态画布绘制轮播图像的参数对象,而在执行步骤1034时可以直接将各个参数对象赋值给相应静态画布的属性。
步骤104,在应用界面的目标区域展示N个轮播图像。
需要说明的是,上述步骤103中可以得到N+2个轮播图像,这里只需在目标区域显示N个轮播图像,而其它2个轮播图像放置在滚动画布中,以便后续循环展示到目标区域。其中,应用终端在展示N个轮播图像时,可以将一个轮播图像作为主轮播图像,而其它N-1个轮播图像作为非主轮播图像,这两种类型的轮播图像分别按照不同的方式进行显示,比如按照原始大小展示主轮播图像,按照缩小方式展示非主轮播图像,且主非轮播图像之间可以重叠显示等。其中用户可以直接操作主轮播图像,而不能直接操作非主轮播图像。
进一步地,目标区域展示的N个轮播图像可以按照一定的方式移动,具体地,当确定移动目标区域展示的轮播图像时,调用动态效果代理,动态效果代理用于在轮播图像移动的过程中实现任一方式的动态效果展示;通过动态效果代理动态地展示在目标区域移动当前展示的N个轮播图像。其中,可以在应用终端中预置多种动态效果代理,以实现多种方式的动态展示,而每个动态效果代理可以实现的动态展示可以包括多个阶段的动态展示,比如轮播开始、轮播过程中和轮播结束等阶段的动态展示,比如,在轮播过程中将当前主轮播图像向左以缩小方式移出目标区域,而将当前主轮播图像的下一个轮播图像移到主轮播图像的区域进行展示,且有新的轮播图像从右侧以放大或旋转的方式移进目标区域,而动态效果代理主要是实现当前显示的轮播图像移出目标区域,及新的轮播图像移进目标区域的动态效果展示。这样,为了实现在轮播图像移动过程中的各种效果展示,可以通过预置动态效果代理的方式来实现,而不需要对应用终端的代码进行更新。
进一步地,应用终端可以设置轮播图像移动时的动态效果展示,具体地:应用终端可以显示设置界面,设置界面用于设置在目标区域移动轮播图像时的动态展示方式,从设置界面接收用户输入的动态展示方式,比如轮播图像以渐变的方式或缩放的方式移出目标区域等,储存动态展示方式。这样,当应用终端在上述调用动态效果代理时,会调用与该动态展示方式对应的动态效果代理。
在具体实现时,当在目标区域展示N个轮播图像的预置时间后,应用终端可以确定需要移动目标区域展示的轮播图像;或者,当用户在目标区域进行操作(比如向右滑动),或者操作目标区域显示的某一非主轮播图像时,应用终端在接收到用户操作时,可以确定需要移动目标区域展示的轮播图像。
需要说明的是,轮播图像在目标区域的移动时,其实质就是在多个静态画布在滚动画布中移动位置。具体地,当确定移动目标区域展示的轮播图像时,若目标区域轮播的图片总数大于上述N+2,说明需要在目标区域轮播的图片多于上述创建的静态画布,也就多于上述步骤103中绘制的轮播图像,则需要在多个静态画布的第一静态画布中重新绘制轮播图像,且将多个轮播图像的静态画布中第二静态画布移动到滚动画布的相应位置,比如向右或向右平移一个轮播图像的宽度。其中,第一静态画布主要可以是移出目标区域的轮播图像对应的静态画布,而第二静态画布为多个静态画布中除第一静态画布之外的其它静态画布。
若目标区域轮播的图片总数等于N+2,说明需要在目标区域轮播的图片与上述创建的静态画布一样多,也就与上述步骤103中绘制的轮播图像一样多,即在目标区域需要轮播的所有图片都被绘制好,则在目标区域移动轮播图像时,不需要重新绘制轮播图像,主要是将各个绘制了轮播图像的静态画布移动到滚动画布的相应位置。
可见,在本实施例的方法中,应用终端会在开启应用界面时,创建多个静态画布内置于滚动画布,这样,可以获取轮播图的图片参数,根据图片参数分别在多个静态画布上绘制轮播图像,得到多个轮播图像,并在应用界面的目标区域展示绘制的轮播图像。这样,在轮播图显示的过程中,通过创建多个静态画布的方式,实现了可以同时绘制多个轮播图像,减少了轮播图显示的时间,同时在静态画布上绘制轮播图像的方式所占用的资源较少,使得轮播图显示的过程所占用的资源也会较少,从而减少了在应用界面展示轮播图像时的卡顿现象。
以下以一个具体的应用实例来说明本发明的轮播图显示方法,本实施例的方法可以应用于任一应用终端在显示相应应用的应用界面,在本实施例中具体为应用首页,在应用首页的一特定区域(即目标区域)动态地显示轮播图像,且还可以实现各种动态效果。具体如图5所示,本实施例的方法可以包括如下步骤:
步骤201,用户可以操作应用终端,使得应用终端显示应用首页,在应用终端加载应用首页的过程中,应用终端会获取应用首页的目标区域的资源并将资源信息储存在本地系统中。
其中,目标区域的资源可以包括轮播图集合,在轮播图集合中包括了目标区域需要轮播的所有图片,假设图片总数为M。且储存在本地系统的轮播图集合的信息可以包括网络图片的信息和本地图片的信息,其中,网络图片的信息可以包括网络图片的统一资源定位符(Uniform Resource Locator,URL)地址,本地图片的信息可以包括但不限于如下格式的图片信息:png、jpg、jpeg、tif、gif、pcx、tga、exif及fpx等格式。
进一步地,若轮播图集合中的轮播图的大小不一,应用终端可以先将轮播图集合中的轮播图转化为相同大小的轮播图,且将转化后的各个轮播图的信息放入轮播数组中。
步骤202,应用终端创建滚动画布,具体为UIScrollview,及多个静态画布,具体为UIView,多个UIView内置于UIScrollview。
其中,UIView的个数为N+2,N为在应用首页的目标区域显示出的轮播图的个数,每个UIView的大小为单张轮播图的大小;UIScrollview的区域尺寸(contentSize)的宽度为N+2个轮播图的宽度之和,contentSize的高度为轮播图的高度。且还可以设置UIScrollview的水平偏移量(即移动量)为一个UIView的宽度。
步骤203,应用终端获取各个UIView分别对应的轮播图的图片参数。
步骤204,应用终端在各个UIView绘制轮播图像,具体可以采用CGContextRef绘制位图的方式来绘制轮播图像。
如图6所示,应用终端可以采用如下的步骤实现轮播图像的绘制:
步骤2041,将上述得到的轮播数组中的各个轮播图的信息转化成字符指针(char)数据类型,且可以调用动态内存分配(memory allocation,malloc),分配与轮播图的像素大小一致的内存空间,具体地,内存空间的大小为H*W*4,其中,H为轮播图的高度,W为轮播图的宽度,4为字节数,本实施例中采用24位真彩色加透明度来存储颜色值。
步骤2042,通过调用色彩空间创建(CGColorSpaceCreateDeviceRGB)函数,在上述分配的内存空间创建CGColorSpaceRef类型的颜色空间。
步骤2043,调用位图上下文创建(CGBitmapContextCreate)函数,并传入相关参数,获取到绘制图像的参数对象CGContextRef。
其中,相关参数可以包括:上述步骤2041分配的内存空间的大小和地址、位图宽度、位图高度、内存中像素的每个组件的维数(bitsPerComponent)等,对于32位像素的RGBA颜色位数则为8。
步骤2044,调用位图上下文创建图像(CGBitmapContextCreateImage)函数,传入生成的参数对象CGContextRef得到CGImageRef类型的结构体指针,并将CGImageRef类型的结构体指针赋值给UIView的相应属性。
步骤205,应用终端在应用首页的目标区域展示N个轮播图像,其中,对N个轮播图像中的主轮播图像和非主轮播图像的展示方式可以不同。
步骤206,当应用终端确定需要移动目标区域展示的轮播图像,可以判断是否采用动态效果代理来动态地展示在目标区域移动当前展示的N个轮播图像,如果是,则执行步骤207;如果不是,则执行步骤208。
步骤207,调用对应的动态效果代理,通过动态效果代理动态地展示在目标区域移动当前展示的N个轮播图像,移动量具体为一个轮播图像,使得在目标区域展示的主轮播图像为上述步骤205展示的主轮播图像的下一个轮播图像。
步骤208,直接采用预置的动态展示方式动态地展示在目标区域移动当前展示的N个轮播图像。
其中,当在上述步骤205展示N个轮播图像的预置时间后,或者,当用户在目标区域进行操作(比如向右滑动),或者操作目标区域显示的某一非主轮播图像时,应用终端在接收到用户操作时,可以确定需要移动目标区域展示的轮播图像。
当应用终端停留在应用首页,可以重复循环地执行步骤206,实现在目标区域中循环地显示轮播图像。在这个过程中,应用终端会根据轮播图像在目标区域的移动,对多个UIView中的某些UIView中的轮播图像进行重新绘制。
例如图7所示,当通过上述步骤205可以在目标区域展示3个轮播图像1、2和3,其中,轮播图像1为主轮播图像,为按照原始大小进行展示,而轮播图像2和3为非主轮播图像,在主轮播图像的两侧分别进行缩小展示。当确定需要移动目标区域的轮播图像时,轮播图像2会移出目标区域,轮播图像1的下一个轮播图像3移动到主轮播图像的位置,在主轮播图像的左右两侧分别为缩小显示的轮播图像1和4。其中,轮播图像2在移出目标区域及轮播图像4在移进目标区域时,可以通过上述动态效果代理来实现,比如以缩放、渐入渐出或旋转等方式,动态地展示轮播图像移出和移进目标区域。
可见,本实施例的方法可以实现如下的技术效果:
(1)采用N+2个UIView和绘制位图的方式绘制轮播图像,复用性较高,减少内存空间的分配和增加动态展示方式。
(2)支持无限轮播、渐变、缩放等动态效果展示,增加用户粘性。
以下以另一具体的应用实例来说明本发明中轮播图显示方法,本发明实施例中的轮播图显示系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
以分布式系统为区块链系统为例,参见图8是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图8示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:实现轮播图显示功能的代码,该轮播图显示功能主要包括:
当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中;获取所述多个静态画布分别对应的轮播图的图片参数;根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;在所述应用界面的目标区域展示N个所述轮播图像。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图9为本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本发明实施例还提供一种轮播图显示系统,比如上述的应用终端,其结构示意图如图10所示,具体可以包括:
画布创建单元10,用于当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中。
该画布创建单元10,具体用于设置每个静态画布的第一参数,根据所述第一参数创建多个静态画布;设置所述滚动画布的第二参数,根据所述第二参数创建所述滚动画布;所述第一参数包括静态画布的宽度为单张轮播图的宽度,所述第二参数包括滚动画布的宽度,所述滚动画布的宽度为所述N+2个静态画布的宽度之和。
参数获取单元11,用于获取所述画布创建单元10创建的多个静态画布分别对应的轮播图的图片参数。
绘制单元12,用于根据参数获取单元11获取的图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像。
绘制单元12,具体用于若所述图片参数包括像素大小和颜色信息,则根据所述轮播图的像素大小,分配与所述轮播图的像素大小一致的内存空间;在所述内存空间中创建所述轮播图的颜色空间,所述颜色空间用于储存所述轮播图的颜色信息;根据所述图片参数、内存空间及颜色空间的信息,获取绘制所述轮播图像的参数对象;将所述参数对象赋值给所述静态画布的相应属性。
展示单元13,用于在所述应用界面的目标区域展示所述绘制单元12绘制的N个所述轮播图像。
进一步地,本实施例的轮播图显示系统还可以包括:
动态展示单元14,用于当确定移动目标区域展示的轮播图像时,调用动态效果代理;所述动态效果代理用于在所述轮播图像移动的过程中实现任一方式的动态效果展示;通过所述动态效果代理动态地展示在所述目标区域移动当前展示的N个轮播图像。
设置单元15,用于显示设置界面,所述设置界面用于设置在所述目标区域移动轮播图像时的动态展示方式;从所述设置界面接收用户输入的动态展示方式,储存所述动态展示方式;则动态展示单元14在调用动态效果代理时,具体用于调用与所述设置单元15储存的动态展示方式对应的动态效果代理。
移动单元16,用于上述展示单元13展示了轮播图像后,当确定移动目标区域展示的轮播图像时,若所述目标区域轮播的图片总数大于所述N+2,在所述多个静态画布的第一静态画布中重新绘制轮播图像,将所述多个静态画布中的第二静态画布移动到滚动画布的相应位置。若所述目标区域轮播的图片总数等于所述N+2,将所述多个静态画布移动到滚动画布的相应位置。
在本实施例的系统中,画布创建单元10会在开启应用界面时,创建多个静态画布内置于滚动画布,这样,参数获取单元11可以获取轮播图的图片参数,绘制单元12根据图片参数分别在多个静态画布上绘制轮播图像,得到多个轮播图像,由展示单元13在应用界面的目标区域展示绘制的轮播图像。这样,在轮播图显示的过程中,通过创建多个静态画布的方式,实现了可以同时绘制多个轮播图像,减少了轮播图显示的时间,同时在静态画布上绘制轮播图像的方式所占用的资源较少,使得轮播图显示的过程所占用的资源也会较少,从而减少了在应用界面展示轮播图像时的卡顿现象。
本发明实施例还提供一种终端设备,其结构示意图如图11所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括轮播图显示的应用程序,且该程序可以包括上述轮播图显示系统中的画布创建单元10,参数获取单元11,绘制单元12,展示单元13,动态展示单元14,设置单元15和移动单元16,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的轮播图显示的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由应用终端所执行的步骤可以基于该图11所示的终端设备的结构。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述应用终端所执行的轮播图显示方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述应用终端所执行的轮播图显示方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
另外,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的轮播图显示方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种轮播图显示方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种轮播图显示方法,其特征在于,包括:
当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中,每个静态画布都在所述滚动画布中有一个对应的位置,所述位置是动态变化的;
获取所述多个静态画布分别对应的轮播图的图片参数;
根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;
在所述应用界面的目标区域展示N个所述轮播图像,其它2个轮播图像放置到所述滚动画布中,以便循环展示到所述目标区域;
所述创建滚动画布及多个静态画布,具体包括:
设置每个静态画布的第一参数,根据所述第一参数创建多个静态画布;
设置所述滚动画布的第二参数,根据所述第二参数创建所述滚动画布;
所述第一参数包括静态画布的宽度为单张轮播图的宽度,所述第二参数包括滚动画布的宽度及所述滚动画布的偏移量,所述滚动画布的宽度为所述N+2个静态画布的宽度之和。
2.如权利要求1所述的方法,其特征在于,所述图片参数包括像素大小和颜色信息,所述根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像,具体包括:
根据所述轮播图的像素大小,分配与所述轮播图的像素大小一致的内存空间;
在所述内存空间中创建所述轮播图的颜色空间,所述颜色空间用于储存所述轮播图的颜色信息;
根据所述图片参数、内存空间及颜色空间的信息,获取绘制所述轮播图像的参数对象;
将所述参数对象赋值给所述静态画布的相应属性。
3.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
当确定移动目标区域展示的轮播图像时,调用动态效果代理;所述动态效果代理用于在所述轮播图像移动的过程中实现任一方式的动态效果展示;
通过所述动态效果代理动态地展示在所述目标区域移动当前展示的N个轮播图像。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
显示设置界面,所述设置界面用于设置在所述目标区域移动轮播图像时的动态展示方式;
从所述设置界面接收用户输入的动态展示方式,储存所述动态展示方式;
所述调用动态效果代理,具体包括:调用与所述动态展示方式对应的动态效果代理。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
当确定移动目标区域展示的轮播图像时,若所述目标区域轮播的图片总数大于所述N+2,在所述多个静态画布的第一静态画布中重新绘制轮播图像,将所述多个静态画布中的第二静态画布移动到滚动画布的相应位置。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
当确定移动目标区域展示的轮播图像时,若所述目标区域轮播的图片总数等于所述N+2,将所述多个静态画布移动到滚动画布的相应位置。
7.一种轮播图显示系统,其特征在于,包括:
画布创建单元,用于当开启应用界面时,创建滚动画布及多个静态画布,所述静态画布的数量为N+2,所述N为大于1或等于1的自然数,所述多个静态画布内置于所述滚动画布中,每个静态画布都在所述滚动画布中有一个对应的位置,所述位置是动态变化的;
所述画布创建单元,具体用于设置每个静态画布的第一参数,根据所述第一参数创建多个静态画布;设置所述滚动画布的第二参数,根据所述第二参数创建所述滚动画布;所述第一参数包括静态画布的宽度为单张轮播图的宽度,所述第二参数包括滚动画布的宽度及所述滚动画布的偏移量,所述滚动画布的宽度为所述N+2个静态画布的宽度之和;
参数获取单元,用于获取所述多个静态画布分别对应的轮播图的图片参数;
绘制单元,用于根据图片参数,分别在所述多个静态画布中绘制轮播图像,得到多个轮播图像;
展示单元,用于在所述应用界面的目标区域展示N个所述轮播图像。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至6任一项所述的轮播图显示方法。
9.一种终端设备,其特征在于,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如权利要求1至6任一项所述的轮播图显示方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111134866.8A CN113791751B (zh) | 2021-09-27 | 2021-09-27 | 一种轮播图显示方法、系统及存储介质和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111134866.8A CN113791751B (zh) | 2021-09-27 | 2021-09-27 | 一种轮播图显示方法、系统及存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113791751A CN113791751A (zh) | 2021-12-14 |
CN113791751B true CN113791751B (zh) | 2024-05-03 |
Family
ID=78877261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111134866.8A Active CN113791751B (zh) | 2021-09-27 | 2021-09-27 | 一种轮播图显示方法、系统及存储介质和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113791751B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777490B (zh) * | 2023-08-18 | 2023-11-03 | 厦门澜天电子科技有限公司 | 一种基于智慧导示标识的动态指示智能管理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423366A (zh) * | 2017-06-28 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种轮播图切换方法及装置 |
CN109151547A (zh) * | 2018-08-30 | 2019-01-04 | 广州虎牙信息科技有限公司 | 一种轮播方法、装置、终端及存储介质 |
CN109726343A (zh) * | 2018-12-26 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 图像轮播方法和装置 |
CN112100420A (zh) * | 2019-06-17 | 2020-12-18 | 西安光启未来技术研究院 | 一种基于画布的图片轮播方法 |
CN112835499A (zh) * | 2021-01-27 | 2021-05-25 | 小马国炬(玉溪)科技有限公司 | 一种轮播图展示方法、装置、设备及介质 |
CN113360692A (zh) * | 2021-06-22 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 轮播视图的展示方法与系统 |
-
2021
- 2021-09-27 CN CN202111134866.8A patent/CN113791751B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423366A (zh) * | 2017-06-28 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种轮播图切换方法及装置 |
CN109151547A (zh) * | 2018-08-30 | 2019-01-04 | 广州虎牙信息科技有限公司 | 一种轮播方法、装置、终端及存储介质 |
CN109726343A (zh) * | 2018-12-26 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 图像轮播方法和装置 |
CN112100420A (zh) * | 2019-06-17 | 2020-12-18 | 西安光启未来技术研究院 | 一种基于画布的图片轮播方法 |
CN112835499A (zh) * | 2021-01-27 | 2021-05-25 | 小马国炬(玉溪)科技有限公司 | 一种轮播图展示方法、装置、设备及介质 |
CN113360692A (zh) * | 2021-06-22 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 轮播视图的展示方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113791751A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021047429A1 (zh) | 一种图像渲染方法、装置、设备及存储介质 | |
US9947127B2 (en) | Efficient image transmission | |
KR102366752B1 (ko) | 지도 인터페이스들의 지연시간 단축 | |
CN106528025B (zh) | 多屏图像投屏方法、终端、服务器和系统 | |
CN108737482A (zh) | 文档分享方法、装置和系统 | |
CN111314741A (zh) | 视频超分处理方法、装置、电子设备及存储介质 | |
CN107908337A (zh) | 分享图像内容的方法和装置 | |
CN113791751B (zh) | 一种轮播图显示方法、系统及存储介质和终端设备 | |
CN113225606B (zh) | 视频弹幕处理方法及装置 | |
CN109949395A (zh) | 热力图渲染方法及装置 | |
JP7471510B2 (ja) | ピクチャのビデオへの変換の方法、装置、機器および記憶媒体 | |
CN104615738A (zh) | 一种基于远程同步的移动终端照片分享方法 | |
CN114339412B (zh) | 视频质量增强方法、移动终端、存储介质及装置 | |
CN108174281A (zh) | 一种视频倒放方法、装置、系统、介质及设备 | |
CN111562869B (zh) | 截图方法及装置、存储介质、电子装置 | |
CN110363837A (zh) | 游戏中纹理图像的处理方法及装置、电子设备、存储介质 | |
CN114205680A (zh) | 视频封面展示方法及其装置、设备、介质、产品 | |
CN103188554A (zh) | 图像编码方法及系统 | |
JP2014515134A (ja) | 読取サービスの提供方法、コンテンツ提供サーバ及びシステム | |
CN112153459A (zh) | 用于投屏显示的方法和装置 | |
CN105183288B (zh) | 单窗口多任务显示方法及其智能移动终端 | |
CN115588064A (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN115146087A (zh) | 一种资源推荐方法、装置、设备及存储介质 | |
CN107959824A (zh) | 一种监控视频处理方法、物理服务器及存储介质 | |
CN110941413B (zh) | 显示画面的生成方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |