CN112330782A - 动画处理方法以及装置 - Google Patents
动画处理方法以及装置 Download PDFInfo
- Publication number
- CN112330782A CN112330782A CN202011268542.9A CN202011268542A CN112330782A CN 112330782 A CN112330782 A CN 112330782A CN 202011268542 A CN202011268542 A CN 202011268542A CN 112330782 A CN112330782 A CN 112330782A
- Authority
- CN
- China
- Prior art keywords
- animation
- drawing instruction
- page
- page drawing
- file
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本说明书实施例提供动画处理方法以及装置,其中所述动画处理方法包括:确定待处理动画文件的文件格式;调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及动画处理方法以及装置。
背景技术
随着计算机技术的发展,为了提高用户的视觉体验,在软件或页面的实现中,特别是一些特效的展现,通常会多种动画格式被同时使用,比如APNG、GIF、Lottie、Spine、DragonBones等,但是带有各种动画格式的运行库成本很高,并且技术实现上差异度大,且占用大量的软件二进制体积,因此,需要提供一种可以解决上述问题的动画处理方法。
发明内容
有鉴于此,本说明书实施例提供了两种动画处理方法。本说明书一个或者多个实施例同时涉及两种动画处理装置,两种计算设备,以及两种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本说明书实施例的第一方面,提供了一种动画处理方法,应用于服务端,包括:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
本说明书实施例的第二方面,提供了另一种动画处理方法,应用于客户端,包括:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
本说明书实施例的第三方面,提供了一种动画处理装置,应用于服务端,包括:
确定模块,被配置为确定待处理动画文件的文件格式;
解码模块,被配置为调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
转换模块,被配置为将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
录制模块,被配置为按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
发送模块,被配置为根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
本说明书实施例的第四方面,提供了另一种动画处理装置,应用于客户端,包括:
发送请求模块,被配置为向服务端发送针对页面绘制指令序列的动画获取请求;
接收序列模块,被配置为接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
执行指令模块,被配置为通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
本说明书实施例的第五方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
本说明书实施例的第六方面,提供了另一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述动画处理方法的步骤。
本说明书实施例的第八方面,提供了另一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述动画处理方法的步骤。
本说明书提供一种动画处理方法,应用于服务端,通过与客户端进行配合,在服务端基于待处理动画文件的文件格式,调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合,并将所述动画帧集合中的动画帧转换为至少一条页面绘制指令,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列,实现了将待处理动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即页面绘制指令序列)并根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列,以便在客户端对一种动画形态进行统一渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积。
附图说明
图1是本说明书一个实施例提供的一种动画处理方法的处理流程图;
图2是本说明书一个实施例提供的另一种动画处理方法的处理流程图;
图3是本说明书一个实施例提供的一种应用于服务端与客户端交互场景中动画处理方法的处理流程图;
图4是本说明书一个实施例提供的一种动画处理装置的示意图;
图5是本说明书一个实施例提供的另一种动画处理装置的示意图;
图6是本说明书一个实施例提供的一种计算设备的结构框图;
图7是本说明书一个实施例提供的另一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
矢量图形:是计算机图形学中用点、直线或者多边形等基于数学方程的几何图元表示图像。矢量图形与使用像素表示图像的位图不同,矢量图形是从历史的视角来描述——一个图像如何藉由几何图元来组合生成的。位图如同照相机一样在某个具体的时间点对物体进行了成像和记录,而不关心这个像是如何由更小的元素组合或如何形成的。
数据绑定(Data binding)是将“提供器”的数据源与“消费者”绑定并使其同步的一种通用技术。这通常用两种不同语言的数据/信息源完成,如XML数据绑定。在UI数据绑定中,相同语言但不同逻辑功能的数据与信息对象被绑定在一起(例如Java UI元素到Java对象)。在数据绑定过程中,每个数据更改会由绑定到数据的元素自动反射。术语“数据绑定”也指一个外部数据表示随元素更改产生变化,并且底层数据自动更新以反映此更改。举例来说,对一个文本框的更改可能修改其根源的数据值。
动态能力:指的是能根据各种场景的需要,技术层面能通过一套代码/一套方案支持各种不同输入,产生预期的效果的能力。强调的是针对各种不同数据的输入,产生符合期望的效果的多样性,在这个过程中体现出的功能的灵活性和与之相对的软件规模和复杂度的相对不增加。
APNG:在PNG格式的基础上扩展支持了动画,而PNG是一种支持光栅化图形、采用了无损数据压缩技术的图片文件格式。
GIF:一种位图图片格式,能够支持动画,在不同操作系统、互联网上得到了普遍使用。
洛蒂(Lottie):是一种由软件创作导出的动画格式以及对应的各种环境(安卓、苹果等系统)上的渲染库。
骨骼动画:是一种计算机动画技术,它将三维模型分为两部分:用于绘制模型的蒙皮(Skin),以及用于控制动作的骨架。跟传统逐格动画相异,骨骼动画利用建立好的骨架套用到一张或多张图片,使之动作,比起一般一张一张绘出动作省了很多时间与精力,且能更生动的动作。
Spine:是一种骨骼动画格式以及制作工具、运行库。
龙骨(DragonBones):是一种2D骨骼动画方案。
在本说明书中,提供了两种动画处理方法,本说明书一个或者多个实施例同时涉及两种动画处理装置,两种计算设备,以及两种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
本说明书提供的一种动画处理方法实施例如下:
图1示出了根据本说明书一个实施例提供的一种动画处理方法的处理流程图,具体包括以下步骤:
步骤102,确定待处理动画文件的文件格式。
本说明书方法实施例的执行主体是服务端,本说明书另一个方法实施例的执行主体是客户端,本说明书通过在服务端为不同格式的待处理动画文件进行格式转换,以便在客户端实现对一种格式的动画形态进行统一的动画渲染。
具体的,所述待处理动画文件,可以是任意一种可播放的动画文件,其中,动画是一种通过一系列多个静止的固态图像(帧)以一定频率连续变化、运动(播放)的速度(如每秒16张)而导致肉眼的视觉残像产生的错觉——而误以为图画或物体(画面)活动的作品及其视频技术。
相应的,所述文件格式,是指动画文件存放的格式,比如:JPG、GIF、APNG、Lottie、Spine、DragonBones等。
可选的,所述待处理动画文件可以携带绘制属性变量,具体的,绘制属性变量,可以理解为动画设计师为了使动画具有颜色、语言等变化能力,在设计动画时,针对待处理动画文件中一些动画元素所添加的属性变量,在需要基于绘制属性变量进行动画绘制之前,需要先对绘制属性变量进行取值,而绘制属性变量的取值不同,则绘制出的动画不同,比如:针对圆形动画元素填充颜色,添加绘制属性变量,在绘制属性变量的取值为红色的情况下,将圆形动画元素填充为红色,在绘制属性变量的取值为蓝色的情况下,将圆形动画元素填充为蓝色。
步骤104,调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合。
实际应用中,不同文件格式的动画,需要能够支持该文件格式的应用程序进行解码,其中,解码可以理解为将待处理动画文件解码为一帧一帧的动画帧,而由解码出的动画帧组成的集合,即为动画帧集合。
其中,所述应用程序,可以理解为能将动画文件解码为动画帧的代码程序,此外,该应用程序也可以理解为支持不同文件格式的动画进行播放的播放器,实际应用中,动画播放器具有将动画文件解码为一帧一帧动画帧的能力。
例如,动画文件A为APNG格式的动画文件,则调用支持APNG格式播放的播放器对动画文件A进行解码,获得动画文件A包含的动画帧集合。
步骤106,将所述动画帧集合中的动画帧转换为至少一条页面绘制指令。
其中,所述页面绘制指令,是指用于绘制动画图像的指令,其作为动画文件的一种原始的表现形式(格式),通过执行该页面绘制指令,则可进行动画绘制从而复现动画。
具体的,为了增加页面绘制指令在客户端的兼容性,将动画帧转换为画布应用编程接口对应的绘制指令,则无需客户端加载支持不同动画格式的运行库,本说明书实施例提供的一种可选实施方式中,所述将所述动画帧集合中的动画帧转换为至少一条页面绘制指令,具体采用如下方式实现:
将所述动画帧转换为至少一条画布应用编程接口对应的绘制指令。
具体的,画布应用编程接口对应的绘制指令,是指画布应用编程接口(CanvasAPI)的调用指令(即Canvas API调用指令),其中的Canvas是HTML标准中一种支持JavaScript脚本形式来绘制各种图形(线、文字、图片、2D/3D图形等)的元素,可以用于实现动画、游戏图形、数据可视化、图片操作、实时视频处理、绘制硬件加速的2D/3D图形,相应的,Canvas API:可指示Canvas元素来画图的JavaScript API,而Canvas API调用指令是在智能终端中可执行的程序代码。
需要说明的是,动画的动画帧都是从属于位图帧或矢量图形帧的组合,而无论是位图还是矢量图形都可以经由Canvas API进行绘制,即Canvas API对于表达出各种格式的动画来说是完备的,Canvas API调用指令代码能表达任意形式(体现为各种不同的格式及其创作工具)、生成任意复杂的动画。
实际应用中,由于不同文件格式的动画,可能需要不同的运行库支持动画播放,尤其在进行一些特效展现的情况下,可能存在多种动画格式被同时使用,但是带有各种动画格式的运行库成本很高,技术实现上差异度大(各种动画格式的出现和配套运行库都是各自诞生和演进的),且占用大量的软件二进制体积,本说明书实施例,通过将待处理动画文件中包含的动画帧转换为统一的页面绘制指令,实现了将不同的动画格式转换为统一的格式。
可选的,所述页面绘制指令包括:绘制函数以及所述绘制函数对应的绘制参数,其中所述绘制参数包括:绘制属性值、和/或所述绘制属性变量,具体的,转换的页面绘制指令包括绘制函数以及绘制参数,其中,绘制函数,可以理解为针对动画元素进行绘制的程序代码,具体的,不同的绘制函数可以进行不同的绘制或绘制不同动画元素(比如:圆形、方形或心形等),而绘制参数,是针对绘制函数输入的参数,用于指示绘制动画元素的具体细节,比如绘制的原点,绘制的半径、线条的颜色等,实际应用中,绘制参数也可以为空。
需要说明的是,在动画帧为位图帧的情况下,由于对位图帧进行绘制的基本单位是图像本身,因此,可以将位图图形转换为一条用于绘制整个图像的绘制指令(比如,绘制指令中的绘制函数为draw Image);在动画帧为矢量图形帧的情况下,由于矢量图形帧可以拆分为至少一个矢量图形,因此,矢量图形帧中的每个矢量图形都可以转换为用于绘制矢量图形的绘制指令,比如,绘制指令中的绘制函数为drawCircle,fillCircle、moveTo等。
步骤108,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列。
具体的,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,可以理解为将各个动画帧对应的页面绘制指令按照待处理动画文件的播放时序进行排列并记录,成为页面绘制指令序列。
比如,动画文件A中包含2帧动画帧,其中,第一帧动画帧转换为5条页面绘制指令,第二帧动画帧转换为4条页面绘制指令,将这9条页面绘制指令按照动画文件A的播放时序进行排列以及记录,获得由这9条页面绘制指令组成的页面绘制指令序列。
具体实施时,为了提高客户端获得页面绘制指令序列的效率,减轻服务端的网络拥塞情况,本说明书实施例提供的一种可选实施方式中,所述获得所述待处理动画文件对应的页面绘制指令序列之后,还包括:
将所述页面绘制指令序列发送至节点存储服务器,并记录所述页面绘制指令序列在所述节点存储服务器的存储地址;
接收所述客户端发送的所述动画获取请求,所述动画获取请求中携带所述页面绘制指令序列对应的序列标识;
基于所述序列标识,将所述存储地址发送至所述客户端。
实际应用中,在动画的观看量大的情况下,针对页面绘制指令序列的动画获取请求的并发量也会比较大,为了减轻服务端的资源压力,并避免动画获取请求大量阻塞,服务端可以将完成格式转换的页面绘制指令序列分发到节点存储服务器,以使客户端从节点存储服务器获取对应的页面绘制指令序列。
此外,还可以通过内容分发网络对页面绘制指令序列在缓存服务器进行存放,并利用负载均衡技术将动画获取请求导向离客户端最近的缓存服务中,以便提高针对页面绘制指令序列的获取效率,并减少了服务端出现网络拥塞的情况。
步骤110,根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
具体的,动画获取请求,是指在客户端需要针对待处理动画文件对应的动画进行动画播放的情况下,向服务端发送的动画获取请求,具体实施时,动画获取请求中可以携带页面绘制指令序列的动画标识、动画名称或序列名称等,用以对不同的页面绘制指令序列进行区分;服务端基于客户端发送的动画获取请求,将动画获取请求中所请求获取的页面绘制指令序列发送至客户端,以便客户端基于获取的页面绘制指令序列进行动画播放。
综上所述,本说明书提供一种动画处理方法,应用于服务端,通过与客户端进行配合,服务端基于待处理动画文件的文件格式,调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合,并将所述动画帧集合中的动画帧转换为至少一条页面绘制指令,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列,实现了将待处理动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即页面绘制指令序列)并根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列,以便在客户端对一种动画形态进行统一渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积。
本说明书提供的另一种动画处理方法实施例如下:
本说明书提供的另一种方法实施例与上述方法实施例相对应,本实施例的执行主体为客户端,而上述方法实施例的执行主体是服务端,两个实施例相互配合,通过服务端为不同格式的待处理动画文件进行格式转换,以便实现在客户端对一种格式的动画形态进行统一的动画渲染,阅读本实施例时,可与上述方法实施例相对应。图2示出了根据本说明书一个实施例提供的另一种动画处理方法的处理流程图,具体包括以下步骤:
步骤202,向服务端发送针对页面绘制指令序列的动画获取请求。
实际应用中,在客户端需要进行动画播放时,需要从服务端获取对应的页面绘制指令序列,因此,向服务端发送针对页面绘制指令序列的动画获取请求,具体实施时,动画获取请求中携带页面绘制指令序列对应的动画名称、动画标识或序列标识等,以便服务端对准确地获取对应的页面绘制指令序列。
步骤204,接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列。
具体的,在客户端向服务端发送动画获取请求之后,服务端接收客户端发送的动画获取请求,并向客户端发送其所请求的页面绘制指令序列,客户端接收服务端发送的页面绘制指令序列,以实现客户端对页面绘制指令序列对应的可选的,所述页面绘制指令,包括:画布应用编程接口对应的绘制指令。
本说明书实施例提供的一种可选实施方式中,所述向服务端发送针对页面绘制指令序列的动画获取请求之后,并所述通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放之前,还包括:
接收所述服务端发送的所述页面绘制指令序列的存储地址;
从所述存储地址指向的存储空间,获取所述页面绘制指令序列。
实际应用中,通过接收服务端发送的存储地址,并从存储地址指向的存储空间(比如存储服务器等)获取页面绘制指令序列,为了提高客户端获得页面绘制指令序列的效率,并减轻了服务端的网络拥塞情况。
步骤206,通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
具体实施时,依次执行页面绘制指令序列中的页面绘制指令,可以进行动画帧的绘制,并将绘制完成的动画帧按照动画帧展示的时序进行播放。
实际应用中,为了增加动画的动态能力,并节约动画的设计成本,在服务端所提供的页面绘制指令中携带绘制属性变量,以便客户端通过改变绘制属性变量的取值,对动画的展示效果进行变更,本说明书实施例提供的一种可选实施方式中,所述页面绘制指令包括:绘制函数以及所述绘制函数对应的绘制参数,其中,所述绘制参数包括:绘制属性值、和/或绘制属性变量;
相应的,所述通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放,包括:
在任一页面绘制指令中的绘制函数携带所述绘制属性变量的情况下,确定所述绘制属性变量对应的目标属性值;
在所述目标属性值不为空的情况下,通过执行所述任一页面绘制指令中的所述绘制函数按照所述目标属性值进行动画绘制。
具体的,绘制函数,可以理解为针对动画元素进行绘制的程序代码,具体的,不同的绘制函数可以进行不同的绘制或绘制不同动画元素(比如:圆形、方形或心形等),而绘制参数,是针对绘制函数输入的参数,用于指示绘制动画元素的具体细节,比如绘制的原点,绘制的半径、线条的颜色等,实际应用中,绘制参数也可以为空。
所述目标属性值,是指绘制属性变量的取值,实际应用中,确定绘制属性变量的去取值的方式是多种多样的,比如可以预先设置绘制属性变量对应的目标属性值等。
进一步的,在绘制函数携带所述绘制属性变量(即绘制函数存在绘制属性变量作为绘制参数)的情况下,该绘制函数可能还携带该绘制属性变量对应的默认属性值,实际应用中,在目标属性值为空的情况下(即无法确认所述绘制属性变量对应的目标属性值的情况下),通过执行所述任一页面绘制指令中的所述绘制函数按照所述绘制属性变量对应的默认属性值进行动画绘制。
即在执行任一页面绘制指令的过程中,若任一页面绘制指令中包含的绘制函数同时具有绘制属性变量,以及该绘制属性变量对应的属性默认值,则先确定绘制属性变量的目标属性值,若目标属性值为空或无法确定目标属性值的情况下,执行该任一绘制指令的过程中,将绘制属性变量对应的属性默认值作为绘制函数的绘制参数进行动画绘制。
例如,绘制参数为:fillCircle{blue|{CC}},其中,fillCircle为绘制函数,CC为绘制属性变量,blue为默认属性值,在绘制属性变量CC对应的目标属性值为空(即绘制属性变量CC的取值为空)情况下,将默认属性值blue作为绘制函数fillCircle的绘制参数进行动画绘制(可以理解为通过执行fillCircle函数将圆填充为蓝色)。
需要说明的是,在客户端需要以编程语言(比如可以编译到WebAssembly的C语言)编写的程序来承载页面绘制指令序列(比如使用WebAssembly vm执行页面绘制指令序列),同时在客户端上依托编程语言的基础能力(比如定义变量、引用变量)来实现客户端数据绑定,具体的,数据绑定,可以理解为将动画所属的播放页面的当前语言、当前主题色、用户特定数据等作为页面绘制指令序列的参数,用以指示动画支持多语言(即一个动画,可以支持多语言的展示)、多主题色(比如暗黑模式、白昼模式、春节红等)、千人千面(不同用户展示其账户系统特定的数据)等动态变化特性,来支撑各种页面层的动态能力(多语言、多主体色、千人千面等)。
基于这种动态能力,不需要再为多语言、多主题色、多个用户分类设计多套动画素材,降低了设计动画的人力成本。
进一步的,客户端在动画渲染时的动态能力,能很好地支持只有在用户侧环境里才能确定如何进行渲染的场景(比如基于客户端侧用户行为计算产生的结果的渲染,这常常是由于客户端侧行为数据量太大或由于隐私政策限制不能传输到服务端进行计算)。
具体实施时,为了提高用户的观看体验,使用户具有调整动画效果的能力,本说明书实施例提供的第一种可选实施方式中,所述确定所述绘制属性变量对应的目标属性值,具体采用如下方式实现:
接收用户在用户页面针对所述绘制属性变量提交的属性值,将所述属性值确定为所述目标属性值。
其中,所述用户页面,可以为针对页面绘制指令序列的动画播放页面,也可以是任一展示页面等,在此不做限制。
实际应用中,可以在用户页面向用户展示针对绘制属性变量的属性下拉框、属性输入框等属性控件,由用户对属性控件展示的多个属性值进行选择或输入,将用户选择或输入的属性值(即提交的属性值)作为目标属性值。
比如,用户可以在用户页面中针对动画的主题色(包括:红色、蓝色等)和/或语言(包括:中文、英文等)等绘制属性变量选取对应的属性值,在用户选择主题色为红色,语言为中文的情况下,将红色作为背景填充函数的绘制参数(即将红色作为主题色对应的目标属性值),将中文作为文字绘制函数的绘制参数进行语言绘制(即将中文作为语言对应的目标属性值)。
除上述确定目标属性值的具体实现方式之外,本说明书实施例提供的第二种可选实施方式中,所述确定所述绘制属性变量对应的目标属性值,具体采用如下方式实现:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的页面数据,将所述页面数据确定为所述目标属性值。
其中,所述播放页面,是指执行页面绘制指令进行动画播放的播放页面;所述页面数据包括:页面主题色、页面语言等,在此不做限制。
具体实施时,绘制属性变量的取值是由播放页面的页面数据进行确定,比如,绘制属性变量对应播放页面的页面主题色,则在播放页面的页面主题色为蓝色的情况下,将蓝色确定为绘制属性变量的目标属性值。
本说明书实施例,通过将页面数据作为绘制属性变量的取值,增加了播放动画与播放页面的统一性以及和谐性,并避免了针对不同的播放页面设计不同动画文件,降低了设计成本。
除上述两种确定目标属性值的具体实现方式之外,本说明书实施例提供的第三种可选实施方式中,所述确定所述绘制属性变量对应的目标属性值,具体采用如下方式实现:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的用户数据,将所述用户数据确定为所述目标属性值。
具体的,将播放页面对应的用户数据作为绘制属性变量,可以理解为待播放的动画与播放页面的观看用户具有关联关系,比如待播放的动画中会展示用户名字、用户性别、用户参与的项目情况、用户账户、用户等级等。
本说明书实施例,通过将播放页面对应的用户数据作为绘制属性变量,增加了待播放的动画对于用户的专属性,也提高了动画对用户的吸引力以及趣味性。
综上所述,本说明书提供一种动画处理方法,应用于客户端,通过与服务端进行配合,在服务端对待处理动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即页面绘制指令序列)的基础上,客户端向服务端发送的动画获取请求,并接收服务端发送所述页面绘制指令序列,从而实现在客户端对一种动画形态进行统一渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积。
下述结合附图3,以本说明书提供的动画处理方法在服务端与客户端交互场景中的应用为例,对所述动画处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种应用于服务端与客户端交互场景中动画处理方法的处理流程图,具体包括以下步骤:
步骤302,服务端获取动画文件。
具体的,所述动画文件可以理解为待处理(即待进行格式转换)的动画文件。
步骤304,服务端根据待处理动画文件的文件格式,调用所述文件格式对应的播放器对所述动画文件进行解码,获得所述待处理动画文件包含的动画帧集合。
步骤306,服务端将所述动画帧集合中的动画帧转换为至少一条Canvas API调用指令,并按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条Canvas API调用指令进行录制,获得所述动画文件对应的Canvas API调用序列。
具体的,将动画帧转换为至少一条Canvas API调用指令,并将至少一条CanvasAPI调用指令进行录制,可以采用录制器执行,录制器保持与播放器相同的时序(保持时间上的先后顺序),以动画帧为最小单位输出至少一条Canvas API调用指令,并将各个动画帧对应的至少一条Canvas API调用指令进行收集或记录,形成动画文件对应的Canvas API调用序列。
进一步的,步骤304以及步骤306是对动画文件进行格式转换,而Canvas API调用序列是一种可执行的程序代码。
具体的,在服务端获得所述动画文件对应的Canvas API调用序列之后,根据客户端的动画获取请求,向所述客户端发送所述Canvas API调用序列。
步骤308,客户端接收服务端发送的Canvas API调用序列,并通过执行Canvas API调用序列进行动画回放。
实际应用中,动画回放可以通过回放模块(比如播放器)进行回放,具体的,动画回放,包括:对动画进行播放、暂停、停止、跳播、重新播放等。
进一步的,Canvas API调用序列中,可以添加数据绑定(比如:动画所属的播放页面的当前语言、当前主题色、用户特定数据等)作为Canvas API调用序列的参数,用以指示动画支持多语言(即一个动画,可以支持多语言的展示)、多主题色(比如暗黑模式、白昼模式、春节红等)、千人千面(不同用户展示其账户系统特定的数据)等动态变化特性。
综上所述,本说明书提供一种动画处理方法,通过服务端与客户端进行配合,在服务端基于动画文件的文件格式,调用所述文件格式对应的播放器对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合,并将所述动画帧集合中的动画帧转换为至少一条Canvas API调用指令,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条Canvas API调用指令进行录制,获得动画文件对应的CanvasAPI调用序列,实现了将动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即Canvas API调用序列)以便在客户端对一种动画形态进行统一动画渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积,并通过在客户端通过数据绑定作为Canvas API调用序列的参数使动画具有动态能力,降低了设计成本。
本说明书提供的一种动画处理装置实施例如下:
与上述方法实施例相对应,本说明书还提供了动画处理装置实施例,图4示出了本说明书一个实施例提供的一种动画处理装置的示意图。如图4所示,该装置包括:
确定模块402,被配置为确定待处理动画文件的文件格式;
解码模块404,被配置为调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
转换模块406,被配置为将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
录制模块408,被配置为按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
发送模块410,被配置为根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
可选的,所述动画处理装置,还包括:
发送序列模块,被配置为将所述页面绘制指令序列发送至节点存储服务器,并记录所述页面绘制指令序列在所述节点存储服务器的存储地址;
接收请求模块,被配置为接收所述客户端发送的所述动画获取请求,所述动画获取请求中携带所述页面绘制指令序列对应的序列标识;
发送地址模块,被配置为基于所述序列标识,将所述存储地址发送至所述客户端。
可选的,所述转换模块406,进一步被配置为:
将所述动画帧转换为至少一条画布应用编程接口对应的绘制指令。
综上所述,本说明书提供一种动画处理装置,应用于服务端,通过与客户端进行配合,服务端基于待处理动画文件的文件格式,调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合,并将所述动画帧集合中的动画帧转换为至少一条页面绘制指令,按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列,实现了将待处理动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即页面绘制指令序列)并根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列,以便在客户端对一种动画形态进行统一渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积。
上述为本实施例的一种动画处理装置的示意性方案。需要说明的是,该动画处理装置的技术方案与上述的动画处理方法的技术方案属于同一构思,动画处理装置的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
本说明书提供的另一种动画处理装置实施例如下:
与上述方法实施例相对应,本说明书还提供了另一种动画处理装置实施例,图5示出了本说明书一个实施例提供的另一种动画处理装置的示意图。如图5所示,该装置包括:
发送请求模块502,被配置为向服务端发送针对页面绘制指令序列的动画获取请求;
接收序列模块504,被配置为接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
执行指令模块506,被配置为通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
可选的,所述页面绘制指令包括:绘制函数以及所述绘制函数对应的绘制参数,其中,所述绘制参数包括:绘制属性值、和/或绘制属性变量;
相应的,执行指令模块506,包括:
确定属性值子模块,被配置为在任一页面绘制指令中的绘制函数携带所述绘制属性变量的情况下,确定所述绘制属性变量对应的目标属性值;
执行绘制指令子模块,被配置为在所述目标属性值不为空的情况下,通过执行所述任一页面绘制指令中的所述绘制函数按照所述目标属性值进行动画绘制。
可选的,所述确定属性值子模块,进一步被配置为:
接收用户在用户页面针对所述绘制属性变量提交的属性值,将所述属性值确定为所述目标属性值。
可选的,所述确定属性值子模块,进一步被配置为:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的页面数据,将所述页面数据确定为所述目标属性值。
可选的,所述确定属性值子模块,进一步被配置为:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的用户数据,将所述用户数据确定为所述目标属性值。
可选的,所述动画处理装置,还包括:
接收地址模块,被配置为接收所述服务端发送的所述目标动画对应的页面绘制指令序列的存储地址;
获取序列模块,被配置为从所述存储地址指向的存储空间,获取所述页面绘制指令序列。
可选的,所述页面绘制指令,包括:画布应用编程接口对应的绘制指令。
综上所述,本说明书提供一种动画处理装置,应用于客户端,通过与服务端进行配合,在服务端对待处理动画文件按照文件格式进行解码,并转换一种统一格式的动画形态(即页面绘制指令序列)的基础上,客户端向服务端发送的动画获取请求,并接收服务端发送所述页面绘制指令序列,从而实现在客户端对一种动画形态进行统一渲染,降低了在客户端引入各种动画技术的引入成本、维护成本,并缩减了客户端中动画软件的二进制体积。
上述为本实施例的另一种动画处理装置的示意性方案。需要说明的是,该动画处理装置的技术方案与上述的另一种动画处理方法的技术方案属于同一构思,动画处理装置的技术方案未详细描述的细节内容,均可以参见上述另一种动画处理方法的技术方案的描述。
本说明书提供的一种计算设备实施例如下:
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的动画处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
本说明书提供的另一种计算设备实施例如下:
图7示出了根据本说明书一个实施例提供的另一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
上述为本实施例的另一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的另一种动画处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述另一种动画处理方法的技术方案的描述。
本说明书提供的一种计算机可读存储介质实施例如下:
本说明书提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的动画处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
本说明书提供的另一种计算机可读存储介质实施例如下:
本说明书提供另一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
上述为本实施例的另一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的另一种动画处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述另一种动画处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种动画处理方法,应用于服务端,包括:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
2.根据权利要求1所述的动画处理方法,所述获得所述待处理动画文件对应的页面绘制指令序列之后,还包括:
将所述页面绘制指令序列发送至节点存储服务器,并记录所述页面绘制指令序列在所述节点存储服务器的存储地址;
接收所述客户端发送的所述动画获取请求,所述动画获取请求中携带所述页面绘制指令序列对应的序列标识;
基于所述序列标识,将所述存储地址发送至所述客户端。
3.根据权利要求1所述的动画处理方法,所述将所述动画帧集合中的动画帧转换为至少一条页面绘制指令,包括:
将所述动画帧转换为至少一条画布应用编程接口对应的绘制指令。
4.一种动画处理方法,应用于客户端,包括:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
5.根据权利要求4所述的动画处理方法,所述页面绘制指令包括:绘制函数以及所述绘制函数对应的绘制参数,其中,所述绘制参数包括:绘制属性值、和/或绘制属性变量;
相应的,所述通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放,包括:
在任一页面绘制指令中的绘制函数携带所述绘制属性变量的情况下,确定所述绘制属性变量对应的目标属性值;
在所述目标属性值不为空的情况下,通过执行所述任一页面绘制指令中的所述绘制函数按照所述目标属性值进行动画绘制。
6.根据权利要求5所述的动画处理方法,所述确定所述绘制属性变量对应的目标属性值,包括:
接收用户在用户页面针对所述绘制属性变量提交的属性值,将所述属性值确定为所述目标属性值。
7.根据权利要求5所述的动画处理方法,所述确定所述绘制属性变量对应的目标属性值,包括:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的页面数据,将所述页面数据确定为所述目标属性值。
8.根据权利要求5所述的动画处理方法,所述确定所述绘制属性变量对应的目标属性值,包括:
确定所述绘制属性变量在所述页面绘制指令序列所属的播放页面对应的用户数据,将所述用户数据确定为所述目标属性值。
9.根据权利要求4所述的动画处理方法,所述向服务端发送针对页面绘制指令序列的动画获取请求之后,并所述通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放之前,还包括:
接收所述服务端发送的所述目标动画对应的页面绘制指令序列的存储地址;
从所述存储地址指向的存储空间,获取所述页面绘制指令序列。
10.根据权利要求4所述的动画处理方法,所述页面绘制指令,包括:画布应用编程接口对应的绘制指令。
11.一种动画处理装置,应用于服务端,包括:
确定模块,被配置为确定待处理动画文件的文件格式;
解码模块,被配置为调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
转换模块,被配置为将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
录制模块,被配置为按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
发送模块,被配置为根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
12.一种动画处理装置,应用于客户端,包括:
发送请求模块,被配置为向服务端发送针对页面绘制指令序列的动画获取请求;
接收序列模块,被配置为接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
执行指令模块,被配置为通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
确定待处理动画文件的文件格式;
调用所述文件格式对应的应用程序对所述待处理动画文件进行解码,获得所述待处理动画文件包含的动画帧集合;
将所述动画帧集合中的动画帧转换为至少一条页面绘制指令;
按照所述待处理动画文件的播放时序对所述动画帧集合中的动画帧对应的至少一条页面绘制指令进行录制,获得所述待处理动画文件对应的页面绘制指令序列;
根据客户端的动画获取请求,向所述客户端发送所述页面绘制指令序列。
14.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
向服务端发送针对页面绘制指令序列的动画获取请求;
接收所述服务端基于所述动画获取请求发送的所述页面绘制指令序列;
通过依次执行所述页面绘制指令序列中的页面绘制指令进行动画播放。
15.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至3任意一项所述动画处理方法的步骤。
16.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求4至10任意一项所述动画处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011268542.9A CN112330782A (zh) | 2020-11-13 | 2020-11-13 | 动画处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011268542.9A CN112330782A (zh) | 2020-11-13 | 2020-11-13 | 动画处理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112330782A true CN112330782A (zh) | 2021-02-05 |
Family
ID=74317546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011268542.9A Pending CN112330782A (zh) | 2020-11-13 | 2020-11-13 | 动画处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112330782A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200919391A (en) * | 2007-10-19 | 2009-05-01 | Knowledge Universe Technology Inc | Platform and method for playing a multimedia teaching content |
CN105513115A (zh) * | 2014-10-16 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 将SWF转化为Canvas动画的方法和装置 |
-
2020
- 2020-11-13 CN CN202011268542.9A patent/CN112330782A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200919391A (en) * | 2007-10-19 | 2009-05-01 | Knowledge Universe Technology Inc | Platform and method for playing a multimedia teaching content |
CN105513115A (zh) * | 2014-10-16 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 将SWF转化为Canvas动画的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106611435B (zh) | 动画处理方法和装置 | |
CN111193876B (zh) | 视频中添加特效的方法及装置 | |
CN111899322B (zh) | 视频处理方法、动画渲染sdk和设备及计算机存储介质 | |
CN111899155B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
US20100060652A1 (en) | Graphics rendering system | |
US8995763B2 (en) | Systems and methods for determining compression methods to use for an image | |
CN112929740A (zh) | 一种渲染视频流的方法、装置、存储介质及设备 | |
CN111464828A (zh) | 虚拟特效显示方法、装置、终端及存储介质 | |
CN114286172A (zh) | 数据处理方法及装置 | |
CN113099309A (zh) | 视频处理方法及装置 | |
CN117390322A (zh) | 虚拟空间构建方法、装置、电子设备及非易失性存储介质 | |
US20230222622A1 (en) | Data processing | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
CN112330782A (zh) | 动画处理方法以及装置 | |
CN114708377B (zh) | 一种虚拟空间中的3d图像渲染方法 | |
CN116450149A (zh) | 一种硬件解码方法、设备及存储介质 | |
CN115988265A (zh) | 一种显示画面的渲染方法、装置和终端设备 | |
CN117065357A (zh) | 媒体数据处理方法、装置、计算机设备和存储介质 | |
EP3229478B1 (en) | Cloud streaming service system, image cloud streaming service method using application code, and device therefor | |
CN114419203A (zh) | 文件处理方法及装置 | |
CN114079823A (zh) | 基于Flutter的视频渲染方法、装置、设备及介质 | |
CN115225615A (zh) | 虚幻引擎像素流送方法及装置 | |
CN107347082A (zh) | 视频效果的实现方法和装置 | |
Jun et al. | An easy-to-use pipeline for an rgbd camera and an ar headset | |
CN104737225A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210205 |