CN112073794B - 动画处理方法、装置、计算机可读存储介质和计算机设备 - Google Patents

动画处理方法、装置、计算机可读存储介质和计算机设备 Download PDF

Info

Publication number
CN112073794B
CN112073794B CN201910502065.9A CN201910502065A CN112073794B CN 112073794 B CN112073794 B CN 112073794B CN 201910502065 A CN201910502065 A CN 201910502065A CN 112073794 B CN112073794 B CN 112073794B
Authority
CN
China
Prior art keywords
animation
layer data
data
layer
text
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
Application number
CN201910502065.9A
Other languages
English (en)
Other versions
CN112073794A (zh
Inventor
陈仁健
黄归
龚海龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910502065.9A priority Critical patent/CN112073794B/zh
Publication of CN112073794A publication Critical patent/CN112073794A/zh
Application granted granted Critical
Publication of CN112073794B publication Critical patent/CN112073794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种动画处理方法、装置、计算机可读存储介质和计算机设备,所述方法包括:对获取的动画文件进行解码,获得动画文件对象;读取所述动画文件对象中的图层数据;当检测到图层数据修改指令时,对所述图层数据进行修改;将修改所得的图层数据进行缓存;当所述动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照所述图层标识读取缓存的图层数据;对读取的所述图层数据进行渲染。本申请提供的方案可以有效地提高了动画的处理效率。

Description

动画处理方法、装置、计算机可读存储介质和计算机设备
技术领域
本申请涉及图像处理技术领域,特别是涉及一种动画处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着图像处理技术和网络技术的不断发展,动画的应用也越来越广泛,例如用户在通过客户端拍摄视频过程中,可以选择相应的动画与所拍摄的视频进行合成,选择的动画可以是文本形式和/或图像形式的动画,从而使拍摄出来的视频中具有用户想要的动画效果。然而,在使用动画的过程中,用户只能使用开发者设定的动画,若要修改动画,则需要开发者通过修改代码的方式来模拟出对应动画的效果,从而严重降低了动画处理效率。
发明内容
基于此,有必要针对动画处理效率低的技术问题,提供一种动画处理方法、装置、计算机可读存储介质和计算机设备。
一种动画处理方法,包括:
对获取的动画文件进行解码,获得动画文件对象;
读取所述动画文件对象中的图层数据;
当检测到图层数据修改指令时,对所述图层数据进行修改;
将修改所得的图层数据进行缓存;
当所述动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照所述图层标识读取缓存的图层数据;
对读取的所述图层数据进行渲染。
一种动画处理装置,所述装置包括:
文件解码模块,用于对获取的动画文件进行解码,获得动画文件对象;
数据读取模块,用于读取所述动画文件对象中的图层数据;
修改模块,用于当检测到图层数据修改指令时,对所述图层数据进行修改;
数据缓存模块,用于将修改所得的图层数据进行缓存;
所述数据读取模块还用于当所述动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照所述图层标识读取缓存的图层数据;
数据渲染模块,用于对读取的所述图层数据进行渲染。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述动画处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述动画处理方法的步骤。
上述动画处理方法、装置、计算机可读存储介质和计算机设备,在解码动画文件得到动画文件对象后,读取动画文件对象中的图层数据,然后根据图层数据修改指令对图层数据进行修改并缓存,实现了对动画图层数据的动态修改。在播放过程中,待播放帧命中缓存的图层数据时,则读取缓存的图层数据进行渲染,从而用户可以很方便地进行动态修改动画以得到修改后的动画,无需通过开发者修改代码的方式来实现动画的处理,有效地提高了动画的处理效率。
附图说明
图1为一个实施例中动画处理方法的应用环境图;
图2为一个实施例中动画处理方法的流程示意图;
图3为一个实施例中对动画中的文本进行修改的界面示意图;
图4为一个实施例中按照图层编号依次读取文本图层数据的步骤的流程示意图;
图5为一个实施例中对文本图层数据进行修改的步骤的流程示意图;
图6为一个实施例中对图像图层数据进行修改的步骤的流程示意图;
图7为一个实施例中对动画中的图像进行修改的界面示意图;
图8为一个实施例中对图像图层数据进行分屏渲染的步骤的流程示意图;
图9为一个实施例中动画处理方案的整体流程图;
图10为一个实施例中对文本进行动态编的流程示意图;
图11为一个实施例中对图片进行动态编辑的流程示意图;
图12为一个实施例中动画处理装置的结构框图;
图13为另一个实施例中动画处理装置的结构框图;
图14为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中动画处理方法的应用环境图。参照图1,该动画处理方法应用于动画处理系统。该动画处理系统包括终端110和服务器120。终端110 和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种动画处理方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该动画处理方法具体包括如下步骤:
S202,对获取的动画文件进行解码,获得动画文件对象。
其中,动画文件可以指动画的物理文件,可以存储在硬盘上的文件。动画文件的目标格式可以是PAG格式,后缀名为PAG(或pag)。PAG格式的动画文件可对文本或图像等资源集成到文件内得到。动画文件对象中包括有各种与动画帧相关的数据,例如,该数据可以是文本图层数据和图像图层数据,此外,还包括有各图层数据之间的相对位置关系、文件大小和动画帧率,以及表示文本(或图像)移动、旋转和渐变的矩阵等信息。例如,播放动画时所显示的文字和图像,是由文本形式和图像形式的图层数据经过渲染和上屏所得。
动画处理方法可以应用在拍摄视频的应用场景,也可以应用在播放动画或播放具有动画效果的视频的应用场景,因此,对于S202,可以分为以下两种场景阐述:
场景1,拍摄视频的应用场景
在一个实施例中,在拍摄视频过程中,或在拍摄完视频时,终端接收输入的动画选取指令,选取与动画选取指令对应的动画标识,根据该动画标识获取到动画文件,然后加载并解码该动画文件从而得到动画文件对象,该动画文件对象中包含有文本形式和/或图像形式的图层数据。
在一个实施例中,S202具体可以包括:在拍摄视频过程中,或在拍摄完视频时,终端在显示屏的下方位置展示动画选取工具栏,获取在动画选取工具栏中触发的动画选取指令;选取动画选取指令指定的目标格式的动画文件。终端调用文件加载接口,通过调用的文件加载接口加载并解码所获取的动画文件,获得动画文件对象。
在一个实施例中,当获取到动画选取指令,若本地已下载与动画选取指令对应的动画文件时,终端则从本地获取与动画选取指令对应的动画文件。若本地未下载与动画选取指令对应的动画文件时,终端则获取动画文件网络地址,根据动画文件网络地址从服务器下载对应的动画文件。
例如,如图3所示,用户在拍摄完视频时,终端在显示屏下方位置的动画选取工具栏上选择“我是小标题”的文本形式的动画,然后从服务器下载“我是小标题”的动画文件,或者从本地获取“我是小标题”的动画文件,然后调用加载(load)接口进行加载并解码动画文件,得到动画文件对象。
场景2,播放动画或播放具有动画效果的视频的应用场景
在一个实施例中,在需要播放动画或播放具有动画效果的视频时,终端根据输入的播放指令,在获取视频文件时,也获取目标格式的动画文件。然后,终端调用加载接口,通过调用的文件加载接口加载并解码所获取的动画文件,获得动画文件对象。
在一个实施例中,S202之前,该方法还可以包括:终端通过AE(Adobe AfterEffects,Adobe后期动画合成)客户端制作动画文件后,根据在AE客户端安装的PAG导出插件导出目标格式的动画文件,然后将导出的动画文件上传至服务器,以便其它各终端下载使用。在导出目标格式的动画文件过程中,可以采用目标编码方式对动画文件进行编码。目标编码方式可以是哈夫曼(Huffman)编码、香农编码、预测编码、变换编码和量化编码等方式中的任一种。
其中,在AE客户端上导出动画文件时,可以有至少三种可选择的导出方式,例如选择矢量合成导出、序列帧导出和视频合成导出等导出方式。
在一个实施例中,终端通过客户端解析目标格式的动画文件,得到二进制动画数据,然后按位读取二进制动画数据得到动画文件对象。
S204,读取动画文件对象中的图层数据。
其中,图层数据可以是承载于动画图层中的元素,该元素在渲染后,可以以可视化的形式进行展示。例如,图层数据可以是文本图层数据或图像图层数据。文本图层数据可以指承载于文本图层中用于描述文本的数据,在对文本图层数据进行渲染后,可以以可视化的文本进行呈现。图像图层数据可以指承载于图像图层中用于描述图像的数据,在对图像图层数据进行渲染后,可以以可视化的图像进行呈现。需要说明的是,该图层数据可以通过客户端进行修改。
在一个实施例中,终端遍历动画文件对象上的动画属性值列表,将遍历所得的动画属性值按照对应的图层进行组合,得到图层数据。需要说明的是,对于一个动画,可以由一个或多个图层所组成,因此可以按照图层来组合动画属性值,得到对应的图层数据。在动画文件对象中,最小颗粒为动画属性值,动画属性值是用于描述动画的参数。例如,动画属性值可以是动画中文字的颜色、大小、字体以及文字的移动参数等。
S206,当检测到图层数据修改指令时,对图层数据进行修改。
在一个实施例中,终端实时检测输入的针对图层数据进行修改的图层数据修改指令,当检测到图层数据修改指令时,对图层数据修改指令指定的图层数据进行修改。
在一个实施例中,终端在读取到图层数据时,对该图层数据进行渲染,然后在客户端的拍摄页面或播放页面展示。当检测到图层数据修改指令时,按照图层数据修改指令对所展示的图层数据进行修改,得到修改后的图层数据。
例如,如图3所示,用户在拍摄完视频时,在拍摄页面以编辑形式展示所选取名称为“我是小标题”的动画,用户对动画中的文字内容(即“我是小标题”)进行编辑,编辑后得到的文字内容为“动态编辑的动画方案”,从而实现对文字内容的修改。
S208,将修改所得的图层数据进行缓存。
在一个实施例中,当修改完图层数据时,终端对修改所得的图层数据进行缓存。或者,在修改图层数据的过程中,当检测到定时缓存时钟时,对当前所修改的图层数据进行缓存。
S210,当动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照图层标识读取缓存的图层数据。
在一个实施例中,对于待播放帧所对应的帧数据与缓存的图层数据匹配,可以采用标识匹配的方式,具体包括:终端获取待播放帧的图层数据的图层标识,将该图层标识与缓存中的图层标识进行对比,若一致,则表示待播放帧所对应的帧数据与缓存的图层数据匹配。
在一个实施例中,在修改完图层数据并缓存之后,终端可以即时播放动画文件,在播放过程中实时检测当前播放帧的下一个动画帧(即待播放帧)所对应的帧数据,是否命中了缓存的图层数据,若是,则按照待播放帧读取缓存的图层数据。
例如,对于一个动画,若动画共有20帧,从第5帧到第10帧有文本图层数据,第15帧到第20帧也有文本图层数据,其中,第5帧到第10帧的文本图层数据进行了修改,而第15帧到第20帧的文本图层数据未进行修改。那么,动画播放至第5-10帧时,由于第5-10帧的帧数据与缓存的文本图层数据匹配,此时终端依次从缓存中获取与第5-10帧的帧数据对应的文本图层数据。
S212,对读取的图层数据进行渲染。
在一个实施例中,终端调用渲染工具对读取的图层数据进行渲染,得到图层渲染数据,然后将该图层渲染数据进行上屏显示。
例如,终端调用WebGL(Web Graphics Library,网络图形库),或OpenGL ES(OpenGraphics Library for Embedded Systems,嵌入式系统开放式图形库),或OpenGL ES2.0版本对读取的图层数据进行渲染,然后将渲染所得的图层渲染数据进行上屏。
在一个实施例中,终端除了从缓存中读取可编辑的图层数据,还会从动画文件对象中读取动画效果数据,如文字移动、旋转、淡出和淡入的动画效果数据,这些动画效果数据可以是是四元数组,该四元数组中包含有位置坐标(如x 轴和y轴坐标)、运动参数(如旋转角和移动距离)等。
上述实施例中,在解码动画文件得到动画文件对象后,读取动画文件对象中的图层数据,然后根据图层数据修改指令对图层数据进行修改并缓存,实现了对动画图层数据的动态修改。在播放过程中,待播放帧命中缓存的图层数据时,则读取缓存的图层数据进行渲染,从而用户可以很方便地进行动态修改动画以得到修改后的动画,无需通过开发者修改代码的方式来实现动画的处理,有效地提高了动画的处理效率。
在一个实施例中,图层数据包括文本图层数据;如图4所示,S204具体可以包括:
S402,获取动画文件对象中的图层编号。
其中,文本图层数据可以是文本图层中用于描述文本的数据,如用于描述文本的路径(path)信息和画笔(paint)信息。path信息可用于描述文本的轮廓, paint信息用于描述文本的线条粗细和颜色等。
在一个实施例中,终端在通过AE客户端设计动画时,为每个图层分配一个图层编号,导出目标格式的动画文件时,所导出的动画文件中均包含有文本图层的图层编号。终端在获得动画文件对象后,从动画文件对象中读取关于图层的图层编号。其中,文本图层中的数据是可编辑的内容,如文本图层中的文本是可编辑文本,用户在使用过程中,可以对文本图层中的文本进行编辑。需要说明的是,若动画文件中还包含有图像图层时,还可以对为图像图层分配编号。
例如,在设计动画时,终端按指定的顺序对所有可编辑的文本图层进行排列,如文本1、文本2和文本3,那么对应的这个文本图层数量就是3。
在另一个实施例中,终端统计动画文件对象中文本图层和图像图层的数量,然后根据统计的数量依次为文本图层进行编号,得到图层编号。其中,上述文本图层的数量可以是可编辑文本的图层数量,其中,图层数量可以是大于0的整数,若等于0表示没有可以编辑的文本图层。
S404,调用文本图层数据获取接口。
其中,文本图层数据获取接口可以是用于获取文本图层数据的接口(或函数)。例如,文本图层数据获取接口可以是getTextData(int index),通过该 getTextData(intindex)接口可以获取到文本图层数据。
S406,根据图层编号依次对调用的文本图层数据获取接口进行赋值。
在一个实施例中,终端可以将图层编号作为文本图层数据获取接口的赋值参数;或者,终端获取与图层编号对应的赋值参数,然后依次将赋值参数传递给文本图层数据获取接口,例如,假设动画文件对象中有文本1、文本2和文本 3,终端依次对getTextData(intindex)进行赋值,则可以得到getTextData(0), getTextData(1),getTextData(2)三个赋值的文本图层数据获取接口。
S408,按照赋值后的文本图层数据获取接口,依次读取动画文件对象中的文本图层数据。
在一个实施例中,终端读取到动画文件对象中的文本图层数据后,依次对文本图层数据进行渲染,以便在终端上以可编辑的显示方式进行显示,可编辑的显示方式可以参考图3。
作为一个示例,动画中可编辑的文本图层数量为3个,如文本1、文本2和文本3,当需要对这3个文本进行编辑时,按照图层编号依次对getTextData(int index)进行赋值,即分别用getTextData(0),getTextData(1),getTextData(2) 去获取文本1、文本2和文本3这三个文本图层数据。
上述实施例中,通过图层编号对文本图层数据获取接口进行赋值,然后根据赋值后的文本图层数据获取接口来读取动画文件对象中的文本图层数据,可以快速地得到可编辑的文本图层数据,以便对文本图层数据进行修改和缓存。
在一个实施例中,如图5所示,S206具体可以包括:
S502,获取输入的文本数据。
在一个实施例中,终端检测输入操作,根据输入操作生成对应的文本数据,从而得到输入的文本数据。
S504,将文本图层数据替换为所输入的文本数据。
在一个实施例中,终端调用设置(setter)接口,通过setter接口将文本图层数据替换为所输入的文本数据。
例如,如图3所示,原始的文本图层数据为“我是小标题”,用户对该文本图层数据进行修改,将其修改为“动态编辑的动画方案”。
S506,对替换后的文本图层数据的文本属性值进行修改。
在一个实施例中,终端调用setter接口,通过setter接口对替换后的文本图层数据的文本属性值进行修改。需要说明的是,这里是对文本图层数据和对应的字体信息进行修改,而动画效果可以保留原来的动画效果,如保留文字移动、旋转、淡出和淡入的动画效果。
在一个实施例中,S506具体可以包括:终端获取与文本图层数据对应的目标字体文件;对目标字体文件进行解码,得到文本属性值;展示文本属性值;当检测到属性值修改指令时,按照属性值修改指令修改展示的文本属性值。
其中,文本属性值可以是用于描述文本属性的参数值,如文本字体、颜色和字体大小等。
在一个实施例中,终端通过客户端解析目标格式的、与文本图层数据对应的目标字体文件,得到二进制字体数据,然后按位读取二进制字体数据得到字体对象。终端从字体对象的属性值列表中遍历文本属性值,然后进行展示。
在一个实施例中,在将文本图层数据替换成输入文本时,终端会弹出一个字体修改提示框,提示框中可以有是否修改文本属性的两个选项。若接收到修改文本属性的修改指令时,终端则显示属性修改页面,在该属性修改页面中可以设置文本字体、颜色和字体大小等。其中,提示框中可以有不再显示本提示框的选项,若勾选,后续在修改文本图层数据时,将不再显示该提示框。
上述实施例中,将文本图层数据替换为所输入的文本数据,并对替换后的文本图层数据的文本属性值进行修改,从而实现了对动画中的文字进行修改,提升了用户对动画之间的互动,有利于提高用户体验,增加用户黏度。
在一个实施例中,图层数据包括图像图层数据;如图6所示,该方法还可以包括:
S602,生成图像图层数据的图像修改控件。
其中,图像图层数据可以是图像图层中的用于描述图像的数据,图像修改控件可以是图像形式的控件,点击该图像修改控件可以选择对应的目标媒体对象来替换图像图层数据。如图7所示,图中的矩形框A即为图像修改控件,在替换图像图层数据之前,矩形框A中显示的是原始图像1,即原始的、编号为1 的经过渲染后的图像图层数据。
在一个实施例中,终端在通过AE客户端设计动画时,为每个图层分配一个图层编号,导出目标格式的动画文件时,所导出的动画文件中均包含有各图像图层的图层编号。终端在获得动画文件对象后,从动画文件对象中读取关于图像图层的图层编号,然后按照图层编号依次生成图像图层数据的图像修改控件。其中,图像图层中的数据是可编辑的内容,如图像图层中的图像是可替换图像,用户在使用过程中,可以对图像图层中的图像进行替换。
例如,在设计动画时,终端按指定的顺序对所有可编辑的图像图层进行排列,如图像1、图像2和图像3,那么对应的这个图像图层数量就是3。
在另一个实施例中,终端统计动画文件对象中图像图层的数量,然后根据统计的数量依次为图像图层进行编号,得到图层编号。其中,上述图像图层的数量可以是可替换图片的图层数量,图层数量可以是大于0的整数,若等于0 表示没有可以替换的图层。
S604,展示图像修改控件。
在一个实施例中,终端在显示屏中划分一块展示区,在该展示区中展示图像修改控件,其中,图像修改控件可以是不透明或半透明的图形控件。
S206具体可以包括:S606,当检测到在图像修改控件上触发的图层数据修改指令时,创建目标媒体对象。
其中,目标媒体可以是图像和视频中的至少一种。目标媒体对象可以是根据目标媒体所生成的、符合PAG动画格式要求的媒体对象。
在一个实施例中,S606具体可以包括:终端获取目标媒体;将目标媒体转换成二进制字节数据;根据二进制字节数据创建用于替换图像图层数据的目标媒体对象。
在一个实施例中,终端在检测到在图像修改控件上触发的图层数据修改指令时,从本地图像库中获取目标媒体。若目标媒体为图像时,终端将目标媒体直接转换成二进制字节数据。若目标媒体为视频时,终端按照动画时长对目标媒体进行裁剪,然后将裁减后所得的目标媒体转换成二进制字节数据;或者,若目标媒体为视频时,终端从视频中提取视频帧,然后将提取的视频帧转换成二进制字节数据。
在一个实施例中,终端调用字节流接口,通过字节流接口使用目标媒体的二进制字节数据创建目标媒体对象。例如,终端通过调用fromBytes接口来创建目标媒体对象,fromBytes接口的应用场景主要是在视频处理的过程中,对单张图片或某一视频帧进行的应用。
在一个实施例中,S606具体可以包括:终端获取目标媒体;提取目标媒体的纹理数据或像素数据;根据纹理数据或像素数据,创建用于替换图像图层数据的目标媒体对象。
在一个实施例中,终端在检测到在图像修改控件上触发的图层数据修改指令时,从本地图像库中获取目标媒体。若目标媒体为图像时,终端直接从目标媒体中提取纹理数据或像素数据。若目标媒体为视频时,终端按照动画时长对目标媒体进行裁剪,然后将裁减后所得的目标媒体中按帧提取纹理数据或像素数据;或者,若目标媒体为视频时,终端从视频中提取视频帧,然后从提取的视频帧中提取纹理数据或像素数据。
在一个实施例中,目标媒体对象包括由目标图像构成的动画图层对象;S606 具体可以包括:终端获取目标图像路径;通过目标图像路径获取对应的目标图像;将目标图像转换为位图;按照位图创建用于替换图像图层数据的动画图层对象。
例如,终端调用fromPath接口,通过fromPath接口获取目标图像路径,然后根据目标图像路径获取对应的目标图像,如获取一张本地的图片或网络上的一张图片。终端将目标图像转成一张对应的Bitmap,再以Bitmap的形式生成对应的动画图层对象(如PAGImage对象)。
S608,将图像图层数据替换为目标媒体对象。
在一个实施例中,终端调用替换接口,通过替换接口将图像图层数据替换为目标媒体对象。
上述实施例中,将图像图层数据替换为目标媒体对象,从而实现了对动画中的图像进行修改,提升了用户对动画之间的互动,有利于提高用户体验,增加用户黏度。
在一个实施例中,如图8所示,S212具体可以包括:
S802,获取动画文件对象中图像图层数据的图像数量。
在一个实施例中,当解码动画文件得到动画文件对象时,调用图像数量获取接口获取动画文件对象中图像图层数据的图像数量。例如,PAG动画文件通过load接口加载并解码后,通过numImages接口获取动画中可替换的图片数量。
S804,根据图像数量确定分屏数量。
在一个实施例中,当图像数量小于或等于预设图像数量时,终端将图像数量确定为分屏数量。当图像数量大于预设图像数量时,终端可以采用预设策略确定分屏数量。例如,图像数量为偶数时,将图像数量的一半数量确定为分屏数量;图像数量为奇数时,则分屏数量=(图像数量±1)/2。
S806,按照分屏数量,将从缓存中读取的图像图层数据渲染成用于多分屏显示的动画渲染数据。
在一个实施例中,终端调用渲染工具,并按照分屏数量对读取的图像图层数据进行渲染,得到多分屏显示的动画渲染数据,然后将该动画渲染数据进行上屏显示。
例如,终端调用WebGL,或OpenGL ES,或OpenGL ES2.0版本对读取的图像图层数据进行渲染,然后将渲染所得的动画渲染数据进行上屏。
上述实施例中,对于有多个可替换的图像图层数据,还能实现多屏(合拍) 的动画特效,有利于提高用户体验,增加用户黏度。
作为一个示例,在传统的视频应用中,对于具有动画效果的文本,用户是无法进行编辑。若开发者通过代码模拟动画效果的方式来达到修改文本显示效果,增加了开发成本,而且对于复杂的动画效果,代码模拟的方式是无法实现。此外,动画中的图片不能直接替换为其它任意图片或视频片段。例如,在视频客户端中,用户无法修改里面的道具或贴纸动画。
为了解决上述问题,本发明实施例中提出了一种动画处理方案,可以在保留动画效果的前提下,对动画中的可编辑文本进行修改,如修改文本内容、颜色、大小和字体样式等属性;而且,还可以使用图像、视频(或视频帧)替换动画中的图像,从而实现丰富多彩的动画效果定制。如图9所示,图中给出了动画处理方案的整体流程图,主要由数据存储、动态编辑、控制渲染以及动画呈现4个环节。
(1)数据存储
原始的动画文件:是PAG格式的动画文件,负责保存压缩后的动画数据,这是物理(如硬盘)存储的动画文件。
原始的动画文件(如Example.pag),可以通过load接口加载该动画文件,得到PAGFile(即PAG文件对象)。
文本动画的字体文件(Font.ttf),文本类的动画会用到,而且多个动画文本可以共用同一个字体文件。
结构化数据:在运行时,以不同的结构化数据类型来存储不同的资源,方便用户根据不同的需求来修改相应的图层数据。比如,如果修改文本,则修改对应的PAGText;要替换图片,则替换对应的PAGImage。
PAGFile:作为动画资源的最外层封装,其包含了PAGText、PAGImage两大类图元信息,此外,PAGFile还包含有各PAGText和PAGImage之间的相对位置关系、大小、帧率、矩阵变化等信息。整个PAGFile以不同的图层数据进行分开管理的。
PAGText:保存了动画中某一条独立文本信息,其包含了文本内容、大小、颜色及关联的字体信息PAGFont,一个动画中允许有多个独立的文本。
PAGImage:存储动画中的图片数据,可以直接通过图片资源路径(frompath) 创建,也可以通过图片二进制数据或像素数据来创建,一个动画中允许有多个图片资源。
PAGFont:对动画中文本字体信息的存储,通过字体索引将字体信息关联到相应的动画文本中。
(2)动态编辑
通过操控动画视图,选中相应待编辑的文本或者要替换的图片,通过 PAGFile获取到选定图层的原始文本数据PAGText对象,再通过数据对象提供的接口来修改文本内容、大小、颜色及字体类型,或者用一张新的图片(视频帧) 来创建新的PAGImage对象去取代原始图片。
(3)控制渲染
已修改的PAGText或待替换PAGImage通过PAGRender接口在渲染时替换原PAGFile中相应图层的数据,从而实现运行时的动态编辑的目的。
(4)动画呈现
PAG表面(PAGSurface)管理显存,并将PAGRender渲染的画面逐一进行呈现。
接下来分别对动画中文本和图片进行编辑的接口调用流程进行具体阐述:
图10为对文本进行动态编的流程示意图,原始的动画文件通过load接口进行加载,得到PAGFile。根据PAGFile的numTexts接口可以得到动画中文本图层的数量。而PAGFile的getTextData(int index)接口可以按图层编号获取到对应的文本图层数据PAGText,然后再通过setter方法进行文本属性(如文本内容、字体和颜色)的修改。修改后所得的文本数据,可以通过PAGRender的setTextData(int index,PAGText pagText)进行缓存。在渲染的时候,会按PAGFile 中原始图层的关系依次进行渲染,遇到缓存的图层时会使用缓存的文本数据替换原始的内容,对替换后的文本数据以及其他图层的数据一起进行绘制,最后通过PAGSurface进行上屏显示。
图11为对图片进行动态编辑的流程示意图,原始的动画文件通过load接口加载后,得到PAGFile。通过numImages接口可以得到动画中可替换的图片数量;再通过FromPath接口创建来源于图片文件路径的、用于替换原始图片的Image 对象,或者用图片的字节数据通过FromBytes接口创建Image对象。通过 replaceImage(int index,PAGImage image)接口,在渲染时将原始的图片数据替换为创建好的Image对象。
由于可以直接采用图片的字节数据创建Image对象来替换,这使得可以将视频流(帧)用来替换动画中图片,从而实现在保留动画效果的同时接入任意的视频片段,实现转场等视频特效;对于有多个可替换的图片动画,还能实现多屏(合拍)的视频特效。
通过实施上述实施例,可以具有以下有益效果:
(1)可以在在保留动画效果的前提下,对动画中的可编辑文本进行修改,如修改文本内容、颜色、大小和字体样式等属性;而且,还可以使用图像、视频(或视频帧)替换动画中的图像,从而实现丰富多彩的动画效果定制。
(2)在保留动画效果的前提下,替换后把各种静态的图片赋予了丰富的动画效果;放置两个占位图,设计好切换特效,使用时替换两个占位图为视频,可直接作为视频转场特效使用;视频编辑模板,可以设计为全屏大贴纸,在关键的时间段内放置好视频片段占位图,并加上辅助图元信息和动效,使用时直接输入视频源就可以套用设计师预设好的视频模版。
图2、4-6、8为一个实施例中动画方法的流程示意图。应该理解的是,虽然图2、4-6、8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、 4-6、8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图12所示,本发明实施例中提供了一种动画处理装置,该装置包括:文件解码模块1202、数据读取模块1204、修改模块1206、数据缓存模块1208和数据渲染模块1210;其中:
文件解码模块1202,用于对获取的动画文件进行解码,获得动画文件对象;
数据读取模块1204,用于读取动画文件对象中的图层数据;
修改模块1206,用于当检测到图层数据修改指令时,对图层数据进行修改;
数据缓存模块1208,用于将修改所得的图层数据进行缓存;
数据读取模块1204还用于当动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照图层标识读取缓存的图层数据;
数据渲染模块1210,用于对读取的图层数据进行渲染。
在一个实施例中,文件解码模块1202还用于:展示动画选取工具栏;获取在动画选取工具栏中触发的动画选取指令;选取动画选取指令指定的目标格式的动画文件;调用文件加载接口,通过调用的文件加载接口加载并解码所获取的动画文件,获得动画文件对象。
上述实施例中,在解码动画文件得到动画文件对象后,读取动画文件对象中的图层数据,然后根据图层数据修改指令对图层数据进行修改并缓存,实现了对动画图层数据的动态修改。在播放过程中,待播放帧命中缓存的图层数据时,则读取缓存的图层数据进行渲染,从而用户可以很方便地进行动态修改动画以得到修改后的动画,无需通过开发者修改代码的方式来实现动画的处理,有效地提高了动画的处理效率。
在一个实施例中,图层数据包括文本图层数据;数据读取模块1204还用于:获取动画文件对象中的图层编号;调用文本图层数据获取接口;根据图层编号依次对调用的文本图层数据获取接口进行赋值;按照赋值后的文本图层数据获取接口,依次读取动画文件对象中的文本图层数据。
上述实施例中,通过图层编号对文本图层数据获取接口进行赋值,然后根据赋值后的文本图层数据获取接口来读取动画文件对象中的文本图层数据,可以快速地得到可编辑的文本图层数据,以便对文本图层数据进行修改和缓存。
在一个实施例中,修改模块1206还用于:获取输入的文本数据;将文本图层数据替换为所输入的文本数据;对替换后的文本图层数据的文本属性值进行修改。
在一个实施例中,修改模块1206还用于:获取与文本图层数据对应的目标字体文件;对目标字体文件进行解码,得到文本属性值;展示文本属性值;当检测到属性值修改指令时,按照属性值修改指令修改展示的文本属性值。
上述实施例中,将文本图层数据替换为所输入的文本数据,并对替换后的文本图层数据的文本属性值进行修改,从而实现了对动画中的文字进行修改,提升了用户对动画之间的互动,有利于提高用户体验,增加用户黏度。
在一个实施例中,图层数据包括图像图层数据;如图13所示,该装置还包括:控件生成模块1212和控件展示模块1214;其中:
控件生成模块1212,用于生成图像图层数据的图像修改控件;
控件展示模块1214,用于展示图像修改控件;
修改模块1206还用于:当检测到在图像修改控件上触发的图层数据修改指令时,创建目标媒体对象;将图像图层数据替换为目标媒体对象。
在一个实施例中,修改模块1206还用于:获取目标媒体;将目标媒体转换成二进制字节数据;根据二进制字节数据创建用于替换图像图层数据的目标媒体对象。
在一个实施例中,修改模块1206还用于:获取目标媒体;提取目标媒体的纹理数据或像素数据;根据纹理数据或像素数据,创建用于替换图像图层数据的目标媒体对象。
在一个实施例中,目标媒体对象包括由目标图像构成的动画图层对象;在一个实施例中,修改模块1206还用于:获取目标图像路径;通过目标图像路径获取对应的目标图像;将目标图像转换为位图;按照位图创建用于替换图像图层数据的动画图层对象。
上述实施例中,将图像图层数据替换为目标媒体对象,从而实现了对动画中的图像进行修改,提升了用户对动画之间的互动,有利于提高用户体验,增加用户黏度。
在一个实施例中,数据渲染模块1210还用于:获取动画文件对象中图像图层数据的图像数量;根据图像数量确定分屏数量;按照分屏数量,将从缓存中读取的图像图层数据渲染成用于多分屏显示的动画渲染数据。
上述实施例中,对于有多个可替换的图像图层数据,还能实现多屏(合拍) 的动画特效,有利于提高用户体验,增加用户黏度。
图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现动画处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行动画处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的12装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该动画处理装置的各个程序模块,比如,图12所示的文件解码模块1202、数据读取模块1204、修改模块1206、数据缓存模块1208和数据渲染模块1210。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的动画处理方法中的步骤。
例如,图14所示的计算机设备可以通过如图12所示的动画处理装置中的文件解码模块1202执行S202。计算机设备可通过数据读取模块1204执行S204。计算机设备可通过修改模块1206执行S206。计算机设备可通过数据缓存模块 1208执行S208。计算机设备可通过数据读取模块1204执行S210。计算机设备可通过数据渲染模块1210执行S212。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述动画处理方法的步骤。此处动画处理方法的步骤可以是上述各个实施例的动画处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述动画处理方法的步骤。此处动画处理方法的步骤可以是上述各个实施例的动画处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM 以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM (RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态 RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (22)

1.一种动画处理方法,应用于视频客户端,所述方法包括:
展示包含动画标识的动画选取工具栏;响应于在所述动画选取工具栏中触发的动画选取指令,获取所述动画选取指令指定的动画标识对应的动画文件,并对所述动画文件进行解码,获得动画文件对象;
在所述动画文件对象中读取承载于动画图层的图层数据;所述图层数据包括文本图层数据或图像图层数据;
以编辑形式展示所述图层数据;当检测到图层数据修改指令时,按照所述图层数据修改指令对所述图层数据进行修改;
将修改所得的图层数据进行缓存;
当所述动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照所述图层标识读取缓存的图层数据;
对读取的所述图层数据进行渲染,并将所得的图层渲染数据进行上屏显示。
2.根据权利要求1所述的方法,其特征在于,所述对所述动画文件进行解码包括:
调用文件加载接口,通过调用的文件加载接口加载并解码所获取的动画文件,获得动画文件对象。
3.根据权利要求1所述的方法,其特征在于,所述在所述动画文件对象中读取承载于动画图层的图层数据包括:
获取所述动画文件对象中的图层编号;
调用文本图层数据获取接口;
根据所述图层编号依次对调用的文本图层数据获取接口进行赋值;
按照赋值后的文本图层数据获取接口,在所述动画文件对象中依次读取承载于动画图层的文本图层数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述图层数据进行修改包括:
获取输入的文本数据;
将所述文本图层数据替换为所输入的文本数据;
对替换后的文本图层数据的文本属性值进行修改。
5.根据权利要求4所述的方法,其特征在于,所述对替换后的文本图层数据的文本属性值进行修改包括:
获取与所述文本图层数据对应的目标字体文件;
对所述目标字体文件进行解码,得到所述文本属性值;
展示所述文本属性值;
当检测到属性值修改指令时,按照所述属性值修改指令修改展示的所述文本属性值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成所述图像图层数据的图像修改控件;
展示所述图像修改控件;
所述当检测到图层数据修改指令时,按照所述图层数据修改指令对所述图层数据进行修改包括:
当检测到在所述图像修改控件上触发的图层数据修改指令时,创建目标媒体对象;
将所述图像图层数据替换为所述目标媒体对象。
7.根据权利要求6所述的方法,其特征在于,所述创建目标媒体对象包括:
获取目标媒体;
将所述目标媒体转换成二进制字节数据;
根据所述二进制字节数据创建用于替换图像图层数据的目标媒体对象。
8.根据权利要求6所述的方法,其特征在于,所述创建目标媒体对象包括:
获取目标媒体;
提取所述目标媒体的纹理数据或像素数据;
根据所述纹理数据或所述像素数据,创建用于替换所述图像图层数据的目标媒体对象。
9.根据权利要求6所述的方法,其特征在于,所述目标媒体对象包括由目标图像构成的动画图层对象;所述创建目标媒体对象包括:
获取目标图像路径;
通过所述目标图像路径获取对应的目标图像;
将所述目标图像转换为位图;
按照所述位图创建用于替换所述图像图层数据的动画图层对象。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述对读取的所述图层数据进行渲染包括:
获取所述动画文件对象中图像图层数据的图像数量;
根据所述图像数量确定分屏数量;
按照所述分屏数量,将从缓存中读取的图像图层数据渲染成用于多分屏显示的动画渲染数据。
11.一种动画处理装置,其特征在于,所述装置包括:
文件解码模块,用于展示包含动画标识的动画选取工具栏;响应于在所述动画选取工具栏中触发的动画选取指令,获取所述动画选取指令指定的动画标识对应的动画文件,并对所述动画文件进行解码,获得动画文件对象;
数据读取模块,用于在所述动画文件对象中读取承载于动画图层的图层数据;所述图层数据包括文本图层数据或图像图层数据;
修改模块,用于以编辑形式展示所述图层数据;当检测到图层数据修改指令时,按照所述图层数据修改指令对所述图层数据进行修改;
数据缓存模块,用于将修改所得的图层数据进行缓存;
所述数据读取模块还用于当所述动画文件在播放过程中待播放帧内的图层标识与缓存中图层数据的标识匹配时,则按照所述图层标识读取缓存的图层数据;
数据渲染模块,用于对读取的所述图层数据进行渲染,并将所得的图层渲染数据进行上屏显示。
12.根据权利要求11所述的装置,其特征在于,文件解码模块还用于:
调用文件加载接口,通过调用的文件加载接口加载并解码所获取的动画文件,获得动画文件对象。
13.根据权利要求11所述的装置,其特征在于,所述图层数据包括文本图层数据;数据读取模块还用于:
获取所述动画文件对象中的图层编号;
调用文本图层数据获取接口;
根据所述图层编号依次对调用的文本图层数据获取接口进行赋值;
按照赋值后的文本图层数据获取接口,在所述动画文件对象中依次读取承载于动画图层的文本图层数据。
14.根据权利要求13所述的装置,其特征在于,所述修改模块,还用于获取输入的文本数据;将所述文本图层数据替换为所输入的文本数据;对替换后的文本图层数据的文本属性值进行修改。
15.根据权利要求14所述的装置,其特征在于,所述修改模块,还用于获取与所述文本图层数据对应的目标字体文件;对所述目标字体文件进行解码,得到所述文本属性值;展示所述文本属性值;当检测到属性值修改指令时,按照所述属性值修改指令修改展示的所述文本属性值。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括:
控件生成模块,用于生成所述图像图层数据的图像修改控件;
控件展示模块,用于展示所述图像修改控件;
所述修改模块,还用于当检测到在所述图像修改控件上触发的图层数据修改指令时,创建目标媒体对象;将所述图像图层数据替换为所述目标媒体对象。
17.根据权利要求16所述的装置,其特征在于,所述修改模块,还用于获取目标媒体;将所述目标媒体转换成二进制字节数据;根据所述二进制字节数据创建用于替换图像图层数据的目标媒体对象。
18.根据权利要求16所述的装置,其特征在于,所述修改模块,还用于获取目标媒体;提取所述目标媒体的纹理数据或像素数据;根据所述纹理数据或所述像素数据,创建用于替换所述图像图层数据的目标媒体对象。
19.根据权利要求16所述的装置,其特征在于,所述目标媒体对象包括由目标图像构成的动画图层对象;所述修改模块,还用于获取目标图像路径;通过所述目标图像路径获取对应的目标图像;将所述目标图像转换为位图;按照所述位图创建用于替换所述图像图层数据的动画图层对象。
20.根据权利要求16至19任一项所述的装置,其特征在于,所述数据渲染模块,还用于获取所述动画文件对象中图像图层数据的图像数量;根据所述图像数量确定分屏数量;按照所述分屏数量,将从缓存中读取的图像图层数据渲染成用于多分屏显示的动画渲染数据。
21.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
22.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
CN201910502065.9A 2019-06-11 2019-06-11 动画处理方法、装置、计算机可读存储介质和计算机设备 Active CN112073794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910502065.9A CN112073794B (zh) 2019-06-11 2019-06-11 动画处理方法、装置、计算机可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910502065.9A CN112073794B (zh) 2019-06-11 2019-06-11 动画处理方法、装置、计算机可读存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN112073794A CN112073794A (zh) 2020-12-11
CN112073794B true CN112073794B (zh) 2022-12-23

Family

ID=73658592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910502065.9A Active CN112073794B (zh) 2019-06-11 2019-06-11 动画处理方法、装置、计算机可读存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN112073794B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419995A (zh) * 2021-05-25 2021-09-21 深圳市大头兄弟科技有限公司 Ae模板数据的导出方法、装置、设备及存储介质
CN113806115A (zh) * 2021-10-08 2021-12-17 泰山信息科技有限公司 一种动画复制方法、装置、设备及存储介质
CN114281773B (zh) * 2021-12-28 2023-10-27 北京思明启创科技有限公司 动画显示方法、装置、电子设备及计算机可读存储介质
CN117152307A (zh) * 2022-07-28 2023-12-01 惠州Tcl移动通信有限公司 动画处理方法、装置、电子设备和计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266693A (zh) * 2008-03-31 2008-09-17 康佳集团股份有限公司 一种动态控制动画运行过程的方法
CN101847269B (zh) * 2009-03-27 2011-11-09 上海科泰世纪科技有限公司 多图层动画渲染系统及方法
US9619913B2 (en) * 2013-06-03 2017-04-11 Microsoft Technology Licensing, Llc. Animation editing
CN105657574B (zh) * 2014-11-12 2019-01-22 阿里巴巴集团控股有限公司 一种视频文件制作方法以及装置
CN108364335A (zh) * 2018-01-23 2018-08-03 腾讯科技(深圳)有限公司 一种动画绘制方法及装置
CN109801347B (zh) * 2019-01-25 2022-10-25 北京字节跳动网络技术有限公司 一种可编辑图像模板的生成方法、装置、设备和介质

Also Published As

Publication number Publication date
CN112073794A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN112073794B (zh) 动画处理方法、装置、计算机可读存储介质和计算机设备
CN106611435B (zh) 动画处理方法和装置
EP3985612A1 (en) Method and device for rendering animation, computer readable storage medium, and computer apparatus
CN112381918A (zh) 图像渲染方法、装置、计算机设备和存储介质
CN108959392B (zh) 在3d模型上展示富文本的方法、装置及设备
CN112184856A (zh) 支持多图层特效及动画混合的多媒体处理装置
CN111899155B (zh) 视频处理方法、装置、计算机设备及存储介质
US11972514B2 (en) Animation file processing method and apparatus, computer-readable storage medium, and computer device
CN112070863A (zh) 动画文件处理方法、装置、计算机可读存储介质和计算机设备
CN109636885B (zh) 一种用于h5页面的序列帧动画制作方法和系统
CN111951356B (zh) 基于json数据格式的动画渲染方法
CN111221596A (zh) 字体渲染方法、装置及计算机可读存储介质
CN113411664A (zh) 基于子应用的视频处理方法、装置和计算机设备
CN111246122A (zh) 一种多张照片合成视频的方法和装置
CN114598937B (zh) 动画视频生成、播放方法及装置
KR101984825B1 (ko) Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
CN111064986B (zh) 带透明度的动画数据发送方法、播放方法和计算机设备
CN112069042B (zh) 动画性能监测方法、装置、存储介质和计算机设备
CN116954605A (zh) 页面生成方法、装置及电子设备
CN117065357A (zh) 媒体数据处理方法、装置、计算机设备和存储介质
CN114463474A (zh) 页面显示方法、装置、电子设备、存储介质及产品
CN113538302A (zh) 虚拟物品展示方法、装置和计算机可读存储介质
KR102656674B1 (ko) 타겟 스타일 및 타겟 색상 정보에 기반하여, 입력 이미지를 변환하는 방법 및 장치
WO2024087971A1 (zh) 用于图像处理的方法、装置及存储介质
CN113867712A (zh) 游戏代码生成方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035310

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant