CN109410292B - 实现水波纹动效的方法、装置、设备及存储介质 - Google Patents
实现水波纹动效的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109410292B CN109410292B CN201811158106.9A CN201811158106A CN109410292B CN 109410292 B CN109410292 B CN 109410292B CN 201811158106 A CN201811158106 A CN 201811158106A CN 109410292 B CN109410292 B CN 109410292B
- Authority
- CN
- China
- Prior art keywords
- image
- preset
- display
- curve
- display window
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种实现水波纹动效的方法、装置、设备及存储介质,该方法包括:获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;根据所述显示周期数确定绘制有预设周期曲线的图像;确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。解决了现有技术的水波纹动效方法容易触发性能瓶颈的技术问题,达到了减少占用运算资源,且内存占用很小的技术效果。
Description
技术领域
本发明实施例涉及图像处理,尤其涉及一种实现水波纹动效的方法、装置、设备及存储介质。
背景技术
现有技术常用的水波纹动效方法有a)通过制作gif格式图片或者MP4视频文件在显示动效时播放;b)通过绘图函数的绘制功能和区域剪切功能,结合系统提供的曲线绘图函数在绘图事件触发时在固定区域绘制曲面形,曲面形的曲线起点依赖于曲线绘图函数,绘制波浪动效时会启动一个定时器定时触发绘图事件,定时变更曲面形的曲线起点从而达到波浪动效。前者虽然实现方式简单,水波纹动效可以做的更灵活多变;但gif格式图片或者mp4视频文件运行时内存资源占用过高,对于低配置的机器会触发性能瓶颈;后者虽然能够充分利用系统提供的绘制函数占用内存资源小,但其使用了系统提供的曲线绘图函数,曲线绘图函数占用了较多的CPU或者GPU的运算资源,当多个波浪动效同时运行时也容易触发性能瓶颈。
综上所述,现有技术的水波纹动效方法由于占用较大的内存资源或内存运算资源,容易触发性能瓶颈。
发明内容
本发明实施例提供一种实现水波纹动效的方法、装置、设备及存储介质,以解决现有技术的水波纹动效方法容易触发性能瓶颈的技术问题。
第一方面,本发明实施例提供了一种实现水波纹动效的方法,包括:
获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
根据所述显示周期数确定绘制有预设周期曲线的图像;
确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
进一步,所述图像数量为1,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取一幅绘制有目标周期数的预设周期曲线的图像,其中,所述目标周期数大于或等于所述显示周期数向上取整后加一。
进一步,所述图像数量为2,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取两幅绘制有预设周期曲线的图像,而且两幅图像的预设周期曲线以任意顺序衔接后仍为预设周期曲线,以及,如果所述显示周期数为整周期数,则所述图像的预设周期曲线的目标周期数至少为显示周期数加一;如果所述显示周期数为非整周期数,则所述图像的预设周期曲线的目标周期数至少为显示周期数向上取整;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
依次控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述预设周期曲线在所述图像的运动过程中呈现正向连续的周期运动。
进一步,所述图像数量为N,且N为大于或等于3的整数,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取N幅绘制有预设周期曲线的图像,且N幅图像的预设周期曲线以预设顺序衔接后仍为预设周期曲线,相邻N-1幅图像的预设周期曲线的目标周期数之和大于显示周期数;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
依次控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述预设周期曲线在所述图像的运动过程中呈现正向连续的周期运动。
进一步,所述控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
控制所述图像以预设循序衔接后,在所述水平运动距离内以预设匀速度从起始点运动到终点,并从所述终点瞬时返回至所述起始点,如此往复,同时在此过程中控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
进一步,所述控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动之前,还包括:
获取目标对象当前进程的百分比;
根据所述百分比调整所述图像在所述显示窗口的垂直高度,以使所述预设周期曲线在所述显示窗口的高度占比等于所述当前进程的百分比。
进一步,基于图像的预设正向运动次数检测目标对象当前进程的百分比;或者
基于所示预设周期曲线相对于参考点的运动周期数检测目标对象当前进程的百分比。
第二方面,本发明实施例还提供了一种实现水波纹动效的装置,包括:
显示周期数获取模块,用于获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
图像获取模块,用于根据所述显示周期数确定绘制有预设周期曲线的图像;
水平运动距离确定模块,用于确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
运动控制模块,用于控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的实现水波纹动效的方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的实现水波纹动效的方法。
本发明实施例提供的实现水波纹动效的方法的技术方案,包括:获取控件的显示窗口所能容纳的预设周期曲线的周期数以作为显示周期数;根据显示周期数确定绘制有预设周期曲线的图像;确定图像相对于显示窗口的水平运动距离,其中,水平运动距离为预设周期数的预设周期曲线所对应的距离;控制图像在水平运动距离内做往复运动,以及控制显示窗口在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。通过控制绘制有预设周期曲线的图像相对于显示窗口做往复运动,使显示窗口在视觉上呈现正向连续的周期曲线运动,由于仅涉及到有限数量的图片的往复运动,通过使用内存交换运算的方法达到优化目的,并且内存占用可控,同时可以选用简单的预设周期曲线来避免图像占用较大内存,具有很好的普适性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的实现水波纹动效的方法的流程图;
图2是本发明实施例一提供的由一幅图像实现水波纹动效的示意图;
图3是本发明实施例一提供的由两幅图像实现水波纹动效的示意图;
图4是本发明实施例一提供的由三幅图像实现水波纹动效的示意图;
图5是本发明实施例一提供的由四幅图像实现水波纹动效的示意图;
图6是本发明实施例二提供的实现水波纹动效的方法的流程图;
图7是本发明实施例三提供的实现水波纹动效的装置的结构框图;
图8是本发明实施例四提供的设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的实现水波纹动效的方法的流程图。本实施例的技术方案适用于实现水波纹动效的情况。该方法可以由本发明实施例提供的实现水波纹动效的装置来执行,该装置可以采用软件和/或硬件的方式实现,并配置在处理器中应用。该方法具体包括如下步骤:
S101、获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数。
其中,预设周期函数由预设周期函数生成,对于函数y=f(x),如果存在一个不为零的常数T,使得当x取定义域内的每一个值时,f(x+T)=f(x)都成立,那么就把函数y=f(x)叫做周期函数,不为零的常数T叫做这个函数的周期。事实上,任何一个常数kT(k∈Z,且k≠0)都是它的周期。并且周期函数f(x)的周期T是与x无关的非零常数,且周期函数不一定有最小正周期。另外,对于曲线周期,在二维平面的笛卡尔坐标体系中,存在曲线沿着x轴正向前进(或者后退)时,在x轴取任意一点,曲线在前进(后退)方向上的任意点x1时的y轴值为y1,那么x轴上必定存在两个距离x1最近的点x2、x3的y轴值也为y1,并且|x1-x2|绝对值和|x1-x3|绝对值相等,|x1-x2|以及(|x1-x3|)的绝对值称为曲线周期。同理,如果周期曲线的前进方向为y轴,那么存在|y1-y2|以及(|y1-y3|)的绝对值为曲线周期。
本实施例的预设周期曲线可以是正弦曲线、余弦曲线或贝塞尔曲线函数。且不一定是经典的单峰单谷正弦函数曲线图,可以是多峰多谷的周期曲线。
其中,本实施例的控件的显示窗口优选为矩形,也可以根据需要选择其他形状。控件的显示窗口往往只能显示其容纳的周期数的预设周期曲线,获取该周期数并将该周期数作为显示周期数。其中,显示周期数可以是正整数,也可以是非正整数。
S102、根据显示周期数确定绘制有预设周期曲线的图像。
显示周期数确定后,则可以根据显示周期数确定绘制有预设周期曲线的图像。而且图像数量应根据显示周期数以及图像所绘制的预设周期曲线的周期数来确定,具体为:
如图2所示,如果图像数量为1,则图像的预设周期曲线的周期数至少应大于或等于显示周期数向上取整后加一。
如图3、图4和图5所示,如果图像数量为多幅,则多幅图像的预设周期曲线以预设顺序衔接后仍为预设周期曲线。可以理解的是,多幅图像的预设周期曲线的周期数可以相同,也可以不同。
示例性的,如果图像数量为两幅,且显示周期数为整数,则图像的预设周期曲线的周期数至少应比显示周期数多一个整周期。如果显示周期数为非整数,则图像的预设周期曲线的周期数至少应为显示周期数向上取整,比如,如图3所示,如果显示周期数为一个半周期,则目标周期数至少应为两个周期。
示例性的,如果图像数量至少为三幅,以四幅为例进行说明,则需要四幅图像以预设顺序衔接后仍为预设周期函数,如图5所示,以顺序为第一图像341、第二图像342、第三图像343、第四图像344衔接。
可以理解的是,当图像数量N≥2时,所有图像的目标周期数之和为整数,且相邻N-1幅图像的目标周期数之和大于显示周期数;以使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。
S103、确定图像相对于显示窗口的水平运动距离,其中,水平运动距离为预设整周期数的预设周期曲线所对应的距离。
显示周期数确定后,可以确定图像相对于显示窗口的水平运动距离。为了能够使显示窗口中呈现单向连续的周期性函数,以及便于前后图像之间的衔接控制,本实施例的水平运动距离优选为预设周期曲线的预设整周期数所对应的距离。
S104、控制图像在水平运动距离内做往复运动,以及控制显示窗口在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。
为了通过有限数量的图像的水平运动,使显示窗口呈现预设周期曲线的连续正向周期性运动,需要显示窗口仅在图像正向运动时显示其上的预设周期曲线。可以理解的是,正向与反向为两相对方向,本实施例将需要显示的运动方向定义为正向。
示例性的,以一幅图像的运动实现水波纹动效的过程为:如图2所示,显示窗口2的显示周期数为2,图像31的预设周期曲线310的目标周期数为4,控制图像31在水平运动距离内以预设速度从起始点运动到终点,并从终点瞬时返回至起始点,如此往复,同时在此过程中控制显示窗口2在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。其中,水平运动距离为一个周期的预设周期曲线距离。
示例性的,以两幅图像的运动实现水波纹动效的过程为:如图3所示,显示窗口2的显示周期数为1.5,两幅图像的预设周期曲线320均为正弦函数曲线,第一幅图像321的目标周期数为2,第二幅图像322的目标周期数为3,控制第一幅图像321以预设速度进入显示窗口2,待第一幅图像321的末端进入显示窗口2时,第二幅图像322跟随第一幅图像321末端也随之进入显示窗口2,并与第一幅图像321在视觉上无缝连接。当第一幅图像321末端移出显示窗口2时,由于第二幅图像322的目标周期数大于显示窗口2的显示周期数,所以第二幅图像322的末端还在显示窗口2之外,第一幅图像321返回并衔接于第二幅图像322的末端,以随着第一幅图像321的末端进入显示窗口2。可以理解的是,当第二幅图像322末端移出显示窗口2时,由于第一幅图像321的目标周期数大于显示周期数,第一幅图像321的末端还在显示窗口2之外,然后第二幅图像322返回并衔接于第一幅图像321末端,如此循环,以使显示窗口2中呈现出预设周期曲线的正向连续性周期运动。
示例性的,以三幅图像的运动实现水波纹动效的过程为:如图4所示,三幅图像均绘制有相同的预设周期曲线330,且三幅图像的预设周期曲线330均为显示周期数向上取整,因此每一幅图像的目标周期函数均大于或等于显示窗口2的显示周期数,而且三幅图像预设顺序衔接后仍为预设周期曲线。为了便于描述,设定三幅图像分别为第一张图像331、第二张图像332和第三张图像333,且三张图像根据该编号顺序依次循环运动,具体为:在第一张图像331的预设周期曲线的末端进入显示窗口2之前,第二张图像332的预设周期曲线的起始端已完成与第一张图像331的预设周期曲线的末端的衔接,使两条预设周期曲线在视觉上是无缝连接的,这样当第一张图像331的预设周期曲线的末端进入显示窗口2后,第二张图像332的预设周期曲线的起始端也随之进入,此时可以使第三张图像333的预设周期曲线的起始端与第二张图像332的预设周期曲线的末端进行衔接,也可以在第二张图像332的预设周期函数的末端快要进入显示窗口2时,控制第三张图像333运动以完成与第二张图像332的预设周期曲线的衔接。第一张图像331的预设周期曲线在移动出显示窗口2后返回至起始点,并排在第三张图像333的后边,可以理解的是,图像移出显示窗口后返回至前一图像的后面,并与它的预设周期曲线进行衔接。
示例性的,以四幅图像的运动实现水波纹动效的过程为:如图5所示,四幅图像的预设周期曲线340是由正弦函数基于不同的时间参数输出的,且显示窗口2的显示周期数为2,且四幅图像以该顺序衔接并依次循环运动,其中,第一图像341的曲线为正弦曲线前3/4周期部分,第二图像342的曲线为第一图像341的正弦曲线之后的3/4周期的正弦曲线,第三图像343的曲线为第二图像342之后的3/4周期正弦曲线,第四图像344的曲线为第三图像343的正弦曲线之后的3/4周期正弦曲线,四图像顺序衔接后为3个周期的正弦函数,且相邻三幅图像的目标周期数之和为9/4个周期,大于显示窗口2的两个周期。四幅图像以预设速度顺序进入显示窗口2显示,且显示窗口2最前端的图像移出显示窗口2时,显示窗口2最后端的图像还没有完全移入显示窗口2,或者还有新的图像要移入显示窗口2,且图像移出显示窗口2后,再返回至当前末位图像的后面以作为新的末位图像,并参与到新一轮的图像移动,如此循环,以使显示窗口2中呈现出预设周期曲线的正向连续性周期运动。
需要说明的是,图像在水平距离内正向运动时,可以是匀速的,也可以是变速的。
若要停止预设周期曲线的运动,即停止水纹波动效,只需触发停止动效的指令以使图像停止运动。而且停止动效指令的条件根据业务不同而不同,例如展示文件下载过程的波浪动效,那么文件下载失败或者下载完成都可能成为停止动效的指令。
可以理解的是,本实施例中的图像往返运动的触发条件为是否到达水平运动距离的终点,即是否运动了设定的距离或运动了设定的预设周期曲线的周期数所对应的距离。
可以理解的是,有的运动中的波浪曲线比较温柔,有的运动中的波浪曲线比较波涛汹涌。为了提高用户的视觉享受,本实施例通过预设周期曲线的位移速度和曲率来控制水波纹动效的温柔度,优选为,预设周期曲线的曲率变化平缓,且预设周期曲线的运动为匀速缓慢运动。
本发明实施例提供的实现水波纹动效的方法的技术方案,包括:获取控件的显示窗口所能容纳的预设周期曲线的周期数以作为显示周期数;根据显示周期数确定绘制有预设周期曲线的图像;确定图像相对于显示窗口的水平运动距离,其中,水平运动距离为预设周期数的预设周期曲线所对应的距离;控制图像在水平运动距离内做往复运动,以及控制显示窗口在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。通过控制绘制有预设周期曲线的图像相对于显示窗口做往复运动,使显示窗口在视觉上呈现正向连续的周期曲线运动,由于仅涉及到有限数量的图片的往复运动,通过使用内存交换运算的方法达到优化目的,并且内存占用可控,同时可以选用简单的预设周期曲线来避免图像占用较大内存,具有很好的普适性。
实施例二
图6是本发明实施例二提供的实现水波纹动效的方法的流程图。本发明实施例在上述实施例的基础上,增加了显示目标对象当前进程的百分比的步骤。相应地,本实施例的方法包括:
S1001、获取目标对象当前进程的百分比。
水波纹动效通常用来表示目标对象的当前进程的百分比,比如歌曲下载百分比,由于随着时间的推移,歌曲下载百分比会递增,因此,为了能够实时准确地反映歌曲的下载进程,需要检测歌曲下载百分比的变化。基于此,本实施例基于图像的预设正向运动次数获取歌曲下载百分比,比如,如果图像数量为2,可以在每一幅图像完成水平距离的运动后检测歌曲下载百分比;或者不考虑图像因素,根据预设周期曲线相对于预设基准点的运动周期数检测歌曲下载百分比。
S1002、根据百分比调整图像在显示窗口的垂直高度,以使预设周期曲线在显示窗口的高度占比等于当前进程的比值。
目标对象当前进程的百分比获取后,即可根据该百分比调整图像在显示窗口的垂直位置,即调整预设周期曲线在显示窗口的垂直位置,从而使预设周期曲线在显示窗口中的高度占比等于目标对象当前进程的百分比,如图3和图4所示。
可以理解的是,系统可以以预设间隔时间获取目标对象当前进程的百分比,如果目标对象当前进程的百分比相对于前一时刻有更新,则停止当前的水波纹动效,并将图像移动至与当前百分比对应的显示窗口的垂直高度,再重新开始水波纹动效;或者不停止当前的水波纹动效,直接将运动中的所有图像的高度调整至与当前百分比对应的显示窗口的垂直位置。
示例性的,如果图像数量为2,以预设周期曲线相对于基准点运动M个周期为时间间隔检测歌曲下载百分比,待检测到百分比变化后,在保持窗口中的图像的运动的同时,根据歌曲下载百分比调整图像在显示窗口中的竖直位置,以使预设周期曲线在显示窗口中的高度与歌曲下载百分比对应。
S101、获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数。
S102、根据显示周期数确定绘制有预设周期曲线的图像。
S103、确定图像相对于显示窗口的水平运动距离,其中,水平运动距离为预设周期数的预设周期曲线所对应的距离。
S104、控制图像在水平运动距离内做往复运动,以及控制显示窗口在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。
本发明实施例通过预设周期曲线在显示窗口的垂直位置来表示目标对象当前进程的百分比,方便用户通过预设周期曲线的位置了解目标对象当前进程的百分比。
实施例三
图7是本发明实施例提供的实现水波纹动效的装置的结构框图。该装置用于执行上述任意实施例所提供的实现水波纹动效的方法,该装置可选为软件或硬件实现。该装置包括:
显示周期数获取模块11,用于获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
图像获取模块12,用于根据所述显示周期数确定绘制有预设周期曲线的图像;
水平运动距离确定模块13,用于确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
运动控制模块14,用于控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
该装置还包括百分比模块,用于获取目标对象当前进程的百分比;根据百分比调整图像在所述显示窗口的垂直高度,以使预设周期曲线在显示窗口的高度占比等于当前进程的百分比。
本发明实施例提供的实现水波纹动效的装置的技术方案,包括:通过显示周期数获取模块获取控件的显示窗口所能容纳的预设周期曲线的周期数以作为显示周期数;通过图像获取模块根据显示周期数,获取绘制有目标周期数的预设周期曲线的图像;确定图像相对于显示窗口的水平运动距离,其中,水平运动距离为预设整周期数的预设周期曲线所对应的距离,且小于图像中预设周期曲线的总距离;通过运动控制模块控制图像在水平运动距离内做往复运动,以及控制显示窗口在图像反向运动时不显示该图像的预设周期曲线,使显示窗口在图像的运动过程中呈现正向连续性的预设周期曲线运动。通过控制绘制有预设周期曲线的图像相对于显示窗口做往复运动,使显示窗口在视觉上呈现正向连续的周期曲线运动,由于仅涉及到有限数量的图片的往复运动,通过使用内存交换运算的方法达到优化目的,并且内存占用可控,同时可以选用简单的预设周期曲线来避免图像占用较大内存,具有很好的普适性。
本发明实施例所提供的实现水波纹动效的装置可执行本发明任意实施例所提供的实现水波纹动效的方法,具备执行方法相应的功能模块和有益效果。
实施例四
图8为本发明实施例四提供的设备的结构示意图,如图8所示,该设备包括处理器201、存储器202、输入装置203以及输出装置204;设备中处理器201的数量可以是一个或多个,图8中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203以及输出装置204可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的实现水波纹动效的方法对应的程序指令/模块(例如,显示周期数获取模块11、图像获取模块12以及水平运动距离确定模块13和运动控制模块14)。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的实现水波纹动效的方法。
存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。
输出装置204可包括显示屏等显示设备,例如,用户终端的显示屏。
实施例五
本发明实施例五提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种实现水波纹动效的方法,该方法包括:
获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
根据所述显示周期数确定绘制有预设周期曲线的图像;
确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的实现水波纹动效的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的实现水波纹动效的方法。
值得注意的是,上述实现水波纹动效的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种实现水波纹动效的方法,其特征在于,包括:
获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
根据所述显示周期数确定绘制有预设周期曲线的图像;
确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
2.根据权利要求1所述的方法,其特征在于,所述图像数量为1,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取一幅绘制有目标周期数的预设周期曲线的图像,其中,所述目标周期数大于或等于所述显示周期数向上取整后加一。
3.根据权利要求1所述的方法,其特征在于,所述图像数量为2,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取两幅绘制有预设周期曲线的图像,而且两幅图像的预设周期曲线以任意顺序衔接后仍为预设周期曲线,以及,如果所述显示周期数为整周期数,则所述图像的预设周期曲线的目标周期数至少为显示周期数加一;如果所述显示周期数为非整周期数,则所述图像的预设周期曲线的目标周期数至少为显示周期数向上取整;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
依次控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述预设周期曲线在所述图像的运动过程中呈现正向连续的周期运动。
4.根据权利要求1所述的方法,其特征在于,所述图像数量为N,且N为大于或等于3的整数,所述根据所述显示周期数确定绘制有预设周期曲线的图像,包括:
根据所述显示周期数,获取N幅绘制有预设周期曲线的图像,且N幅图像的预设周期曲线以预设顺序衔接后仍为预设周期曲线,相邻N-1幅图像的预设周期曲线的目标周期数之和大于显示周期数;
控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
依次控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述预设周期曲线在所述图像的运动过程中呈现正向连续的周期运动。
5.根据权利要求3或4所述的方法,其特征在于,所述控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动,包括:
控制所述图像以预设循序衔接后,在所述水平运动距离内以预设匀速度从起始点运动到终点,并从所述终点瞬时返回至所述起始点,如此往复,同时在此过程中控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
6.根据权利要求5所述的方法,其特征在于,所述控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动之前,还包括:
获取目标对象当前进程的百分比;
根据所述百分比调整所述图像在所述显示窗口的垂直高度,以使所述预设周期曲线在所述显示窗口的高度占比等于所述当前进程的百分比。
7.根据权利要求6所述的方法,其特征在于,所述获取目标对象当前进程的百分比,包括:
基于图像的预设正向运动次数检测目标对象当前进程的百分比;或者
基于所示预设周期曲线相对于参考点的运动周期数检测目标对象当前进程的百分比。
8.一种实现水波纹动效的装置,其特征在于,包括:
显示周期数获取模块,用于获取控件的显示窗口所能容纳的预设周期曲线的周期数,以作为显示周期数;
图像获取模块,用于根据所述显示周期数确定绘制有预设周期曲线的图像;
水平运动距离确定模块,用于确定所述图像相对于所述显示窗口的水平运动距离,其中,所述水平运动距离为预设周期数的预设周期曲线所对应的距离;
运动控制模块,用于控制所述图像在所述水平运动距离内做往复运动,以及控制所述显示窗口在所述图像反向运动时不显示该图像的预设周期曲线,使所述显示窗口在所述图像的运动过程中呈现正向连续性的预设周期曲线运动。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的实现水波纹动效的方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的实现水波纹动效的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811158106.9A CN109410292B (zh) | 2018-09-30 | 2018-09-30 | 实现水波纹动效的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811158106.9A CN109410292B (zh) | 2018-09-30 | 2018-09-30 | 实现水波纹动效的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109410292A CN109410292A (zh) | 2019-03-01 |
CN109410292B true CN109410292B (zh) | 2023-07-07 |
Family
ID=65466674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811158106.9A Active CN109410292B (zh) | 2018-09-30 | 2018-09-30 | 实现水波纹动效的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109410292B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395025B (zh) * | 2020-12-10 | 2024-04-09 | 一汽解放汽车有限公司 | 一种螺旋指针绘制方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011181103A (ja) * | 2007-09-05 | 2011-09-15 | Sony Corp | 表示制御装置、表示制御方法およびプログラム |
CN102592297A (zh) * | 2011-12-27 | 2012-07-18 | Tcl集团股份有限公司 | 一种基于2d网格的实时水波纹理处理方法 |
CN102592296A (zh) * | 2011-12-29 | 2012-07-18 | 深圳市万兴软件有限公司 | 一种实现水波纹荡漾特效的方法和装置 |
CN104254875A (zh) * | 2012-02-02 | 2014-12-31 | 索尼公司 | 信息处理装置、信息处理方法及信息处理计算机程序产品 |
US8952968B1 (en) * | 2011-11-02 | 2015-02-10 | Pixar | Wave modeling for computer-generated imagery using intersection prevention on water surfaces |
CN104598215A (zh) * | 2014-05-30 | 2015-05-06 | 小米科技有限责任公司 | 音频图形展示方法及装置 |
-
2018
- 2018-09-30 CN CN201811158106.9A patent/CN109410292B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011181103A (ja) * | 2007-09-05 | 2011-09-15 | Sony Corp | 表示制御装置、表示制御方法およびプログラム |
US8952968B1 (en) * | 2011-11-02 | 2015-02-10 | Pixar | Wave modeling for computer-generated imagery using intersection prevention on water surfaces |
CN102592297A (zh) * | 2011-12-27 | 2012-07-18 | Tcl集团股份有限公司 | 一种基于2d网格的实时水波纹理处理方法 |
CN102592296A (zh) * | 2011-12-29 | 2012-07-18 | 深圳市万兴软件有限公司 | 一种实现水波纹荡漾特效的方法和装置 |
CN104254875A (zh) * | 2012-02-02 | 2014-12-31 | 索尼公司 | 信息处理装置、信息处理方法及信息处理计算机程序产品 |
CN104598215A (zh) * | 2014-05-30 | 2015-05-06 | 小米科技有限责任公司 | 音频图形展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109410292A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901894B (zh) | 一种进度条图像生成方法、装置和存储介质 | |
WO2016086893A1 (zh) | 一种显示电子地图的方法和装置 | |
JP2016518647A (ja) | 体験コンテンツデータセットに関するキャンペーン最適化 | |
JP2022050311A (ja) | 車両の車線変更を検出するための方法、装置、電子機器、記憶媒体、路側機、クラウド制御プラットフォーム、及びコンピュータプログラム | |
CN109410292B (zh) | 实现水波纹动效的方法、装置、设备及存储介质 | |
CN108509241B (zh) | 一种图像的全屏显示方法、全屏显示装置及移动终端 | |
KR20150106846A (ko) | 표시 장치에서의 그래픽 렌더링 및 그와 관련된 개선 | |
CN109724617A (zh) | 一种导航路线的绘制方法以及相关设备 | |
CN109598672B (zh) | 一种地图道路渲染方法及装置 | |
CN111696134B (zh) | 一种目标检测方法、装置以及电子设备 | |
US11308705B2 (en) | Display control device, display control method, and program | |
CN111158840B (zh) | 图像轮播方法及装置 | |
CN108597010A (zh) | 三维巡航渲染方法及装置 | |
KR20160025894A (ko) | Gpu의 리소스에 대한 전력 소비 제어방법 및 장치 | |
CN109683798B (zh) | 一种文本确定方法、终端及计算机可读存储介质 | |
CN111475565A (zh) | 一种目标历史地理信息数据可视化回放系统及方法 | |
CN112988609B (zh) | 数据处理方法、装置、存储介质和客户端 | |
CN110580274B (zh) | 一种gis数据渲染方法 | |
CN114117274A (zh) | 一种数据渲染的方法、装置、计算机设备以及存储介质 | |
CN111860370A (zh) | 语义标注方法、装置和系统 | |
CN107025106B (zh) | 一种图形绘制方法及装置 | |
CN112346613A (zh) | 图标显示效果的控制方法、终端及计算机可读存储介质 | |
CN109410306B (zh) | 图像渲染方法、装置、存储介质、设备和虚拟现实系统 | |
CN105376510A (zh) | 一种投影方法及投影装置 | |
CN112947817B (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 |