CN103761132B - 一种智能终端开机动画播放控制方法 - Google Patents
一种智能终端开机动画播放控制方法 Download PDFInfo
- Publication number
- CN103761132B CN103761132B CN201410038300.9A CN201410038300A CN103761132B CN 103761132 B CN103761132 B CN 103761132B CN 201410038300 A CN201410038300 A CN 201410038300A CN 103761132 B CN103761132 B CN 103761132B
- Authority
- CN
- China
- Prior art keywords
- animation
- picture
- layer
- play
- intelligent terminal
- 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 37
- 239000010410 layer Substances 0.000 claims abstract description 122
- 239000002356 single layer Substances 0.000 claims abstract description 31
- 238000009472 formulation Methods 0.000 claims description 34
- 239000000203 mixture Substances 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 23
- 238000000151 deposition Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000287486 Spheniscidae Species 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000010981 turquoise Substances 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种智能终端开机动画播放控制方法,包括:设置智能终端开机动画的播放控制文件和图片目录;解析播放控制文件,获取开机动画播放参数;检测出开机动画的播放模式;执行智能终端的开机动画播放,包括:当播放模式为单层模式时,通过控制单层显示图片的循环播放;当播放模式为双层模式时,通过对所述背景图层与所述动画图层的独立控制,将动画图层的所有动画帧存放在智能终端内存中,将动画图层叠加在背景图层上以构成所述开机动画。本发明提供的智能终端开机动画播放控制方法,可有效地降低动画文件占用空间,提高图片加载速度和解码速度,以提高智能终端的开机及动画播放流畅度和资源利用率。
Description
技术领域
本发明涉及电子设备技术领域,尤其涉及一种智能终端开机动画播放控制方法。
背景技术
目前的智能终端,尤其是智能手机,它们的启动过程一般包括Bootloader(启动引导程序)启动、内核启动以及应用程序启动。其中,Bootloader启动阶段主要初始化基本硬件,主要包括初始化存储器、串口以及启动频率,目的是使得智能终端能够启动;内核启动主要是启动操作系统以及加载应用程序(其中包括LCD初始化设置等),内核启动后再执行应用程序启动,应用程序开始启动后才可以播放动画以及进行其它的一些应用操作。
在普通的Linux系统或Android(安卓)系统的开机启动过程中,智能终端屏幕通常只能显示静止的文字或者一幅静止的图像,例如“android”文字或者“Linux小企鹅”图像等。内核启动完毕后开始启动应用程序,开机动画会开始演示。
在标准的Android系统中,有一个bootanimation(即开机动画)的功能。用户可通过放置或更换一个zip格式(数据压缩和文档储存的文件格式)的文件bootanimation.zip来修改自己的开机动画,而动画的内容则是由一系列的图片构成,这种方式很好地提升了用户体验。
但在很多智能终端的开机动画启动过程中,例如,基于Android原生的bootanimation.zip开机动画方式只有一层图片,将动画内容和背景内容融为一系列图片从而形成动画帧,这种开机动画方式并未将背景内容和动画内容分离,从而导致在所有的动画帧中,都存在着大量重复的背景内容,因此图片加载速度和解码速度大大降低,同时,这也极大地浪费了系统资源。例如,对于一个分辨率为1280*800(横向像素*纵向像素)的开机动画,其动画图片分辨率需要设置为1280*800的大小,即便将其压缩成有损的JPEG(Motion Joint Photographic Experts Group,联合图像专家小组)图片,其大小也往往能达到1MB(兆字节)左右。如果开机动画需要30帧,那么整个开机动画则需要约30MB左右的空间。这样的开机动画播放方式容易导致动画文件体积大,从而占用空间多、开机动画不流畅等缺陷,影响了智能终端的开机速度。
发明内容
本发明所要解决的技术问题是,提供一种智能终端开机动画播放控制方法,如何解决智能终端开机动画的图片文件占用空间大,图片加载与解码速度慢而导致开机动画不流畅、降低智能终端开机速度的技术问题,以有效提高开机动画中所涉及的图片资源利用率。
为解决以上技术问题,本发明提供一种智能终端开机动画播放控制方法,包括:
设置智能终端开机动画的播放控制文件和图片目录;
解析所述播放控制文件,获取开机动画播放参数;
根据所述开机动画播放参数检测出所述开机动画的播放模式;所述播放模式包括单层模式和/或双层模式;
根据检测出的播放模式执行所述智能终端的开机动画播放,包括:
当所述播放模式为单层模式时,通过控制单层显示图片的循环播放以构成所述开机动画;
当所述播放模式为双层模式时,所述开机动画包括背景图层和动画图层,通过对所述背景图层与所述动画图层的独立控制,将动画图层的所有动画帧存放在所述智能终端内存中,并在执行开机动画播放时将所述动画图层叠加在所述背景图层上以构成所述开机动画。
具体地,所述设置智能终端开机动画的播放控制文件具体为:在所述播放控制文件上预设所述开机动画播放参数;
所述开机动画播放参数包括开机动画的图片分辨率、播放帧率,以及用于控制开机动画的播放模式的图片控制命令。
进一步地,根据所述开机动画播放参数检测出所述开机动画的播放模式,具体为:
检测所述开机动画播放参数中的图片控制命令;
判断所述图片控制命令中是否存在双层模式关键字;如果存在,则判定所述开机动画的播放模式为双层模式;如果不存在,则判定所述开机动画的播放模式为单层模式。
更进一步地,所述图片控制命令中包括第一控制语句;
所述第一控制语句包括播放模式关键字、图片的循环次数、最后一帧图片停留的帧数以及每帧图片的存放路径。
优选地,当所述播放模式为单层模式时,所述第一控制语句为单层模式的开机动画控制命令;
且所述第一控制语句中的播放模式关键字为单层模式关键字;所述图片的循环次数为所述图片目录中的所有图片的循环次数;所述图片为任意格式图片;
通过所述第一控制语句控制所述智能终端按照所述图片分辨率和所述播放帧率,执行单层模式的开机动画播放。
进一步地,当所述播放模式为双层模式时,所述图片控制命令还包括第二控制语句;并且,通过所述第一控制语句实现对所述背景图层的独立控制,通过所述第二控制语句实现对所述动画图层的独立控制;
在双层模式中,所述第一控制语句中的播放模式关键字转意为背景图层描述关键字;所述第一控制语句中的图片的循环次数为所述动画图层的循环次数;所述第一控制语句中的最后一帧图片停留的帧数为所述动画图层在所述背景图层的最后一张背景图片的循环次数;所述第一控制语句中的每帧图片的存放路径为所述背景图层中的每帧背景图片的存放路径;
所述第二控制语句包括所述双层模式关键字,循环次数最后一个动画帧的停留帧数以及动画图片的存放路径;
所述图片目录包括背景图片目录和动画图片目录;所述背景图片的存放路径与所述背景图片目录相对应,所述动画图片的存放路径与所述动画图片目录相对应。
优选地,所述背景图片为任意格式图片;所述动画图片为带有阿尔法通道的PNG图片;
所述背景图层在经过指定的动画图层循环次数后,循环次数从所述背景图片目录中调用一张背景图片进行更新;
所述动画图层叠加在所述背景图层之上,并根据所述第二控制语句从所述动画图片目录中调用所有动画图片执行动画播放;
通过对每一帧动画图片的阿尔法通道值进行控制,将每一帧动画图片与所述背景图片的叠加区域设置为透明区域。
本发明提供的一种智能终端开机动画播放控制方法,将智能终端的开机动画拆分为背景图层和前置在所述背景图层之上动画图层;通过分别控制背景图层的背景图片与动画图层的动画图片的更新,独立地对动画图层的每一帧动画进行快速加载和解码,由于加载和解码后的动画帧可存放在智能终端内存中随时调用,因此,本发明只需要通过对每一张背景图片进行加载和解码后,与存放在智能终端内存的动画帧进行组合以构成开机动画,可避免在每执行一帧动画播放时均需要对每一张图片进行重新加载和解码,有效地提高了图片的加载效率,从而提高开机动画的播放速度和流畅度;同时,本发明提供的智能终端开机动画播放控制方法还可兼容传统的单层图片播放模式,即对图片目录中的每一张图片进行重新加载和解码后播放。此外,可对动画图片的格式进一步限定,使得动画图片上的与背景图片的叠加的区域为透明区域,可有效提高图片的压缩效率,减小图片占用空间。
附图说明
图1是本发明提供的智能终端开机动画播放控制方法的第一实施例的流程示意图;
图2是本发明第二实施例提供的写有开机动画播放参数的脚本文件格式示意图;
图3是本发明第二实施例中智能终端解析脚本文件的流程示意图;
图4是本发明第二实施例中智能终端执行动画播放的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,是本发明提供的智能终端开机动画播放控制方法的第一实施例的流程示意图。
在本实施例中,所述的一种智能终端开机动画播放控制方法,包括以下步骤:
步骤S101:设置智能终端开机动画的播放控制文件和图片目录;
步骤S102:解析所述播放控制文件,获取开机动画播放参数;
步骤S103:根据所述开机动画播放参数检测出所述开机动画的播放模式;所述播放模式包括单层模式和/或双层模式;
步骤S104:根据检测出的播放模式执行所述智能终端的开机动画播放,包括:
步骤S105:当所述播放模式为单层模式时,通过控制单层显示图片的循环播放以构成所述开机动画;
步骤S106:当所述播放模式为双层模式时,所述开机动画包括背景图层和动画图层,通过对所述背景图层与所述动画图层的独立控制,将动画图层的所有动画帧存放在所述智能终端内存中,并在执行开机动画播放时将所述动画图层叠加在所述背景图层上以构成所述开机动画。
具体地,在所述步骤S101中,其中,所述设置智能终端开机动画的播放控制文件具体为:在所述播放控制文件上预设所述开机动画播放参数;
所述开机动画播放参数包括开机动画的图片分辨率、播放帧率,以及用于控制开机动画的播放模式的图片控制命令。其中,分辨率用于表示图片上的每一个方向上的像素数量,例如,一张分辨率为1280*800的PNG图片表示它的横向像素为1280和纵向像素为800。具体实施时,在以双层模式进行动画播放时看,为保证叠加在背景图片上的每一帧动画图片与背景图片的连续性,背景图片与动画图片的分辨率相同,因此所述图片分辨率包括背景图片分辨率和动画图片分辨率。
进一步地,在本实施例中,所述步骤S103具体为:
检测所述开机动画播放参数中的图片控制命令;
判断所述图片控制命令中是否存在双层模式关键字;如果存在,则判定所述开机动画的播放模式为双层模式;如果不存在,则判定所述开机动画的播放模式为单层模式。
因此,在本实施例中,只要检测出双层模式关键字,则控制开机动画播放模式为双层模式,且所述第一控制语句中的播放模式关键字转意为背景图层描述关键字。
在本发明提供的第二实施例中,所述播放控制文件通过以脚本文件的方式进行实现。
参看图2,是本发明第二实施例提供的写有开机动画播放参数的脚本文件格式示意图。
本实施例与第一实施例的实现原理与步骤相同,且所述开机动画播放参数包括各种开机动画的图片分辨率、播放帧率,以及用于控制开机动画的播放模式的图片控制命令。本实施例与第一实施例的区别点在于,通过在脚本文件上写入控制命令实现对所述开机动画播放参数的设置,并通过对该脚本文件的解析,控制开机动画的播放。
具体实施时,可在带有Android操作系统的智能终端中,在开机启动前,可首先建立一个开机动画设置文件bootanimation.zip,并在该设置文件bootanimation.zip中建立或修改原有的脚本文件desc.txt来完成相关播放参数的设置;在执行开机动画播放时,通过建立开机动画控制文件bootanimation.cpp实现对设置文件bootanimation.zip中的脚本文件desc.txt的扫描,以按照脚本文件desc.txt中的播放参数控制动画播放。
具体地,如图2所示,可在一脚本文件desc.txt上首先写入开机动画的图片分辨率w和h,其中,参数w为开机动画的图片显示宽度,参数h表示开机动画的图片显示高度,参数w和参数h组合成为本动画的图片分辨率;然后在脚本文件desc.txt上设置开机动画的播放帧率fps,即每秒显示图片的帧数。
进一步地,在所述脚本文件desc.txt上实现对其他开机动画播放参数,尤其是对所述图片控制命令进行设置。
为了实现对动画播放模式的控制,所述图片控制命令中包括第一控制语句(p m(x)n(x)path(x));其中,所述第一控制语句(p m(x)n(x)path(x))包括播放模式关键字p、图片的循环次数m(x)、最后一帧图片停留的帧数n(x)以及每帧图片的存放路径path(x)。当参数x为不同取值时,参数m(x)和n(x)的取值均可灵活设置,且可使得参数path(x)表示多个不同图片目录的图片存放路径。
在一种可实现方式中,当所述播放模式为单层模式时,所述第一控制语句(p m(x)n(x)path(x))为单层模式的开机动画控制命令,用于对path(x)目录中的所有图片进行播放控制。
且所述第一控制语句(p m(x)n(x)path(x))中的播放模式关键字p为单层模式关键字;所述图片的循环次数m(x)为所述图片目录中的所有图片的循环次数;所述图片为任意格式图片;
通过所述第一控制语句(p m(x)n(x)path(x))控制所述智能终端按照所述图片分辨率(w,h)和所述播放帧率fps,执行单层模式的开机动画播放。
在另一种可实现方式中,当所述播放模式为双层模式时,所述图片控制命令还包括第二控制语句(d m1 n1 path1);并且,
通过所述第一控制语句实现对所述背景图层的独立控制,通过所述第二控制语句(d m1 n1 path1)实现对所述动画图层的独立控制;
在双层模式中,所述第一控制语句(p m(x)n(x)path(x))中的播放模式关键字p转意为背景图层描述关键字;循环次数m(x)为所述动画图层的循环次数;最后一帧图片停留的帧数n(x)为所述动画图层在所述背景图层的最后一张背景图片的循环次数;每帧图片的存放路径path(x)为所述背景图层中的每帧背景图片的存放路径。
所述第二控制语句(d m1 n1 path1)包括所述双层模式关键字d,所述动画图层中的每帧动画图片的循环次数m1,在本实施例中,此处循环次数m1固定为0,表示执行无限循环;最后一个动画帧的停留帧数n1以及动画图片的存放路径path1。
所述图片目录包括背景图片目录和动画图片目录;所述背景图片的存放路径path(x)与所述背景图片目录相对应,所述动画图片的存放路径path1与所述动画图片目录相对应。
因此,在单层模式和双层模式中,第一控制语句(p m(x)n(x)path(x))所代表含义并不相同。当脚本文件desc.txt中没有第二控制语句(d m1n1path1)时,则当前的图片控制命令中不存在双层模式关键字d,因此,当前的开机动画播放模式为单层模式,可根据所述第一控制语句(p m(x)n(x)path(x))执行开机动画播放的控制;当脚本文件desc.txt中存在第二控制语句(d m1n1path1)时,则当前的图片控制命令中存在双层模式关键字d,因此,此时的关键字p转意为背景图层的描述关键字,当前的开机动画播放模式为双层模式,则通过第一控制语句(p m(x)n(x)path(x))控制背景图层的图片播放,通过第二控制语句(dm1n1path1)控制动画图层的图片播放。进一步地,如图2所示,当开机动画中存在多个不同时间长度的背景图层时,可通过增设多个所述第一控制语句(p m(x)n(x)path(x))来实现。
因此,在本发明提供的开机动画播放控制方法中,双层模式的优先级先于单层模式,即当智能终端只要检测到关键字d时,则执行双层模式,与关键字p是否存在无关。
参看图3,是本发明第二实施例中智能终端解析脚本文件的流程示意图。
与图2所示的脚本文件desc.txt的文件格式相对应,智能终端在对脚本文件desc.txt进行扫描以获得开机动画播放所需参数时,即进行动画解析时,包括以下步骤:
步骤S301:对智能终端的脚本文件desc.txt进行初始化;初始化完毕后开始检测所述开机动画的播放模式。
步骤S302:扫描脚本文件desc.txt中的一行,具体地,由于所述脚本文件desc.txt中的命令语句以分段符为结束关键词,因此每次对脚本文件desc.txt的扫描可按“行”进行扫描;判断是否扫描成功,若不成功,则执行步骤S303;若成功,则执行步骤S304。
步骤S303:脚本文件desc.txt已扫描完成。
步骤S304:判断当前控制命令是否为参数:图片分辨率(w h)和播放帧率fps;若是,则执行步骤S305;若否,则执行对所述脚本文件desc.txt进行进一步的解析,获取每个所述播放阶段的播放模式的播放参数,即执行所述步骤S306~步骤S309。
步骤S305:解析并记录动画播放的分辨率(w h)和播放帧率fps,因此,通过以上步骤可读取所述脚本文件desc.txt,查询获得动画播放的图片分辨率和播放帧率;所述图片包括开机动画播放过程中的所有图片。
步骤S306:判断当前“行”是否为第一控制语句(p m(x)n(x)path(x));若是,则执行步骤S307;若否,则执行步骤S308;
步骤S307:解析并记录第一控制语句中的播放参数;
步骤S308:判断当前“行”是否为第二控制语句(d m1n1path1)若是,则执行步骤S309;若否,则跳出该行,对脚本文件desc.txt的下一行进行扫描,即循环执行所述步骤S302;
步骤S309:解析并记录第二控制语句中的播放参数。如此类推。
智能终端通过执行以上所述的方法步骤,可以依次获得播放开机动画所需的各种参数,并根据是否存在双层模式关键字为判断依据,获得开机动画的播放模式,以所述播放模式执行所述智能终端的开机动画播放。具体地,可在所述脚本文件desc.txt上预先依次对整个开机动画播放参数进行设置;并对与每种的播放模式中的各种图片存放路径相对应的图片目录进行设置。所述图片目录中存放有开机动画所需的各种图片,所述图片目录的数量至少为一个。
在本实施例中,通过对所述脚本文件进行顺序扫描,根据当前的播放模式,调用所述动画图片目录中的图片资源并依次执行动画播放。
以上动画解析过程,可通过建立或修改一个程序控制文件bootanimation.cpp来执行。智能终端利用该控制文件bootanimation.cpp,扫描脚本文件desc.txt中的语句,调用动画图片目录中的相应图片,以相应的播放模式执行动画的播放。即,可进一步通过控制文件bootanimation.cpp来完成开机动画的播放控制过程。
参看图4,是本发明第二实施例中智能终端执行动画播放的流程示意图。
在一种可实现方式中,智能终端执行开机动画播放时,可按照图4所示的方法步骤进行。在一个动画播放阶段中,第一控制语句写在第二控制语句之前,具体地,包括以下步骤:
步骤S401:动画图片目录初始化;
步骤S402:根据第一控制语句加载当前动画播放的下一帧图片;以该图片作为开机动画的显示图片;加载后的图片存放在智能终端的内存上;
步骤S403:在智能终端上播放所述显示图片;
步骤S404:检测脚本文件中是否存在第二控制语句;当不存在时,执行步骤S405;当存在时,执行步骤406。
步骤S405:执行1/fps秒的时间延迟后,返回所述步骤S402,循环加载一帧图片,解码后对该图片进行显示,即所述开机动画的当前播放模式为单层模式。
步骤S406:表示开机动画播放模式为双层模式,则根据第二控制语句获取双层模式的下一帧动画图片;则所述步骤S402所加载的显示图片为双层模式中的背景图片,通过以下步骤S407~S409对动画图片目录中的所有图片执行了完整动画过程;加载后的动画图片亦存放在智能终端的内存上。
步骤S407:显示双层模式的图片;将动画图片叠加在背景图片上。
步骤S408:执行1/fps秒的时间延迟。参数fps为动画图片播放帧率。
步骤S409:判断当前的第二控制语句是否执行完成;若是,则循环执行所述步骤S402;若否,则循环执行所述步骤S403,直接调取已在所述步骤S402中已经加载和解码的显示图片,因此可提高动画播放速度和流畅度。
以上执行动画播放的方法步骤S401~步骤409仅仅是智能终端在根据脚本文件desc.txt中的命令语句执行动画播放的一种实现方式,并非全部实现方式。
需要说明的是,在进行播放参数设置时,包括但不限于通过建立和修改脚本文件的方式进行设置;在进行动画解析及动画播放过程中,包括但不限于利用Android操作系统的源文件bootanimation.cpp进行实现。并且,本发明提供的智能终端开机动画播放控制方法包括但不限于应用在带有Android操作系统的智能终端上,所述智能终端可安装有其他操作系统,如IOS操作系统(由苹果公司开发的手持设备操作系统),或者带有各种嵌入式系统的智能设备均可应用本发明提供的智能终端开机动画播放控制方法,实现对开机动画的播放控制。
在本实施例中,优选地,所述背景图片为任意格式图片;所述动画图片为带有阿尔法通道的PNG图片。
所述背景图层在经过指定的动画图层循环次数后,循环次数从所述背景图片目录中调用一张背景图片进行更新;
所述动画图层叠加在所述背景图层之上,并根据所述第二控制语句从所述动画图片目录中调用所有动画图片执行动画播放;
通过对每一帧动画图片的阿尔法通道值进行控制,将每一帧动画图片与所述背景图片的叠加区域设置为透明区域。
便携式网络图形(Portable Network Graphics,简称PNG)是一种无损压缩的位图图片式,支持索引、灰度、RGB(Red/Green/Blue,即红绿蓝)三种颜色信息通道以及阿尔法通道(αChannel或Alpha Channel)等特性。
阿尔法通道是指一张图片的不透明度参数,它与Red(红色)Green(绿色)Blue(蓝色)三个颜色空间组成RGBA色彩空间。例如:一个使用每个像素16比特存储的位图,对于图形中的每一个像素而言,可能以5个比特表示红色,5个比特表示绿色,5个比特表示蓝色,最后一个比特是阿尔法。在这种情况下,图片要么是透明的,要么是非透明的,因为阿尔法比特只有0或1两种不同表示的可能性。又如一个使用32个比特存储的位图,每8个比特表示红绿蓝,和阿尔法通道。在这种情况下,就不仅可以表示透明或不透明两种状态,阿尔法通道还可以表示256级的半透明度,因为阿尔法通道有8个比特可以有256种不同的数据表示可能性。在本实施例中,可根据实际需要,所述PNG图片中既可以采用1比特来表示阿尔法通道,亦可以采用多个比特来表示多个透明与不透明之间的多个透明度。
在本实施例中,将背景图层与动画图层分离,以对动画图层中的PNG图片进行单独处理,由于动画图层中的PNG图片往往比背景图片像素要小得多,占用空间小,可提高对动画图层中的处理效率,并有效降低背景图层中的背景图片的重复性。可以通过每一帧动画帧的PNG图片的播放帧率,可以控制动画图层的播放状态。
当所述播放模式为单层模式时,控制所有图片以所述播放帧率依次进行播放,所述图片为任意格式图片。此时,由于对相应路径上存放的图片执行动画播放,没有区分背景图层和动画图层,因此单层模式下的动画播放可将所有背景图片看作为动画图片来执行动画帧。
当所述播放模式为双层模式时,控制所述PNG图片以所述播放帧率在所述背景图层上依次进行播放,并通过对每一帧PNG图片的阿尔法通道值进行控制,将每一帧PNG图片与所述背景图片的叠加区域设置为透明区域。由于每一帧PNG图片的透明度可通过设置其阿尔法通道的取值来实现,因此,在设计智能终端的开机动画时,可以根据所述动画图层的PNG图片的播放帧率及其预期的播放效果,获得每一帧PNG图片与所述背景图片的叠加区域,此时,通过对前置在背景图片之上的PNG图片的阿尔法通道值进行赋值,将每一帧叠加在背景图片之上的PNG图片叠加部分控制为透明区域,以显示出背景图层上的背景图片。因此,每一个动画帧的PNG图片在时间上的变动比传统的动画更新大为减少,从而一方面有效降低开机动画所占用的文件空间,另一方面提高了智能终端开机动画播放的流畅度。
本发明提供的一种智能终端开机动画播放控制方法,在双层模式时,将智能终端的开机动画拆分为背景图层和前置在所述背景图层之上的动画图层;通过分别控制背景图层的背景图片与动画图层的动画图片的更新,独立地对动画图层的每一帧动画进行快速加载和解码,由于加载和解码后的动画帧可存放在智能终端内存中随时调用,因此,本发明只需要通过对每一张背景图片进行加载和解码后,与存放在智能终端内存的动画帧进行组合以构成开机动画,可避免在每执行一帧动画播放时均需要对每一张图片进行重新加载和解码,有效地提高了图片的加载效率,从而提高开机动画的播放速度和流畅度;同时,本发明提供的智能终端开机动画播放控制方法还可兼容传统的单层播放模式,即对图片目录中的每一张图片进行重新加载和解码后播放。此外,通过对带有透明区域的PNG图片进行压缩后,每一帧PNG图片将大大减小,因而经过图片压缩后可有效地降低动画播放所涉及的动画文件的占用空间,提高智能终端的开机及动画播放流畅度;且在设计不同的开机动画时,不需要制作大量的不同进度的图片,提高资源的利用率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种智能终端开机动画播放控制方法,其特征在于,包括:
设置智能终端开机动画的播放控制文件和图片目录;
解析所述播放控制文件,获取开机动画播放参数;
根据所述开机动画播放参数检测出所述开机动画的播放模式;所述播放模式包括双层模式;
根据检测出的播放模式执行所述智能终端的开机动画播放,包括:
当所述播放模式为双层模式时,所述开机动画包括背景图层和动画图层,通过对所述背景图层与所述动画图层的独立控制,将动画图层的所有动画帧存放在所述智能终端内存中,并在执行开机动画播放时将所述动画图层叠加在所述背景图层上以构成所述开机动画。
2.如权利要求1所述的智能终端开机动画播放控制方法,其特征在于,所述播放模式还包括单层模式;
则所述根据检测出的播放模式执行所述智能终端的开机动画播放,还包括:
当所述播放模式为所述单层模式时,通过控制单层显示图片的循环播放以构成所述开机动画。
3.如权利要求2所述的智能终端开机动画播放控制方法,其特征在于,所述设置智能终端开机动画的播放控制文件具体为:在所述播放控制文件上预设所述开机动画播放参数;
所述开机动画播放参数包括开机动画的图片分辨率、播放帧率,以及用于控制开机动画的播放模式的图片控制命令。
4.如权利要求3所述的智能终端开机动画播放控制方法,其特征在于,根据所述开机动画播放参数检测出所述开机动画的播放模式,具体为:
检测所述开机动画播放参数中的图片控制命令;
判断所述图片控制命令中是否存在双层模式关键字;如果存在,则判定所述开机动画的播放模式为双层模式;如果不存在,则判定所述开机动画的播放模式为单层模式。
5.如权利要求4所述的智能终端开机动画播放控制方法,其特征在于,所述图片控制命令中包括第一控制语句;
所述第一控制语句包括播放模式关键字、图片的循环次数、最后一帧图片停留的帧数以及每帧图片的存放路径。
6.如权利要求5所述的智能终端开机动画播放控制方法,其特征在于,当所述播放模式为单层模式时,所述第一控制语句为单层模式的开机动画控制命令;
且所述第一控制语句中的播放模式关键字为单层模式关键字;所述图片的循环次数为所述图片目录中的所有图片的循环次数;所述图片为任意格式图片;
通过所述第一控制语句控制所述智能终端按照所述图片分辨率和所述播放帧率,执行单层模式的开机动画播放。
7.如权利要求5所述的智能终端开机动画播放控制方法,其特征在于,当所述播放模式为双层模式时,所述图片控制命令还包括第二控制语句;并且,
通过所述第一控制语句实现对所述背景图层的独立控制,通过所述第二控制语句实现对所述动画图层的独立控制;
在双层模式中,所述第一控制语句中的播放模式关键字转意为背景图层描述关键字;所述第一控制语句中的图片的循环次数为所述动画图层的循环次数;所述第一控制语句中的最后一帧图片停留的帧数为所述动画图层在所述背景图层的最后一张背景图片的循环次数;所述第一控制语句中的每帧图片的存放路径为所述背景图层中的每帧背景图片的存放路径;
所述第二控制语句包括所述双层模式关键字,最后一个动画帧的停留帧数以及动画图片的存放路径;
所述图片目录包括背景图片目录和动画图片目录;所述背景图片的存放路径与所述背景图片目录相对应,所述动画图片的存放路径与所述动画图片目录相对应。
8.如权利要求7所述的智能终端开机动画播放控制方法,其特征在于,所述背景图片为任意格式图片;所述动画图片为带有阿尔法通道的PNG图片;
所述背景图层在经过指定的动画图层循环次数后,从所述背景图片目录中调用一张背景图片进行更新;
所述动画图层叠加在所述背景图层之上,并根据所述第二控制语句从所述动画图片目录中调用所有动画图片执行动画播放;
通过对每一帧动画图片的阿尔法通道值进行控制,将每一帧动画图片与所述背景图片的叠加区域设置为透明区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038300.9A CN103761132B (zh) | 2014-01-26 | 2014-01-26 | 一种智能终端开机动画播放控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038300.9A CN103761132B (zh) | 2014-01-26 | 2014-01-26 | 一种智能终端开机动画播放控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761132A CN103761132A (zh) | 2014-04-30 |
CN103761132B true CN103761132B (zh) | 2017-03-22 |
Family
ID=50528376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410038300.9A Active CN103761132B (zh) | 2014-01-26 | 2014-01-26 | 一种智能终端开机动画播放控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761132B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104134228B (zh) * | 2014-07-25 | 2017-07-11 | 广州视源电子科技股份有限公司 | 基于Android系统的开/关机动画制作系统及方法 |
CN104167009B (zh) * | 2014-08-12 | 2018-12-11 | 厦门美图移动科技有限公司 | 一种动画效果的实现方法 |
CN105451064B (zh) * | 2015-11-16 | 2018-11-02 | 深圳Tcl数字技术有限公司 | 显示终端开机播放视频的方法及显示终端 |
CN106303722B (zh) * | 2016-08-04 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 一种动画播放的方法及装置 |
CN107688575A (zh) * | 2016-08-04 | 2018-02-13 | 创盛视联数码科技(北京)有限公司 | 图片展示的方法 |
CN107291468B (zh) * | 2017-06-21 | 2021-03-19 | 深圳Tcl新技术有限公司 | 播放开/关机动画的方法、终端及计算机可读存储介质 |
CN108664299A (zh) * | 2018-03-28 | 2018-10-16 | 北京奇艺世纪科技有限公司 | 一种帧动画的播放控制方法、装置和移动设备 |
CN108664283A (zh) * | 2018-05-07 | 2018-10-16 | 成都市极米科技有限公司 | 一种基于Android系统的开机画面播放设置方法、播放方法及存储设备 |
CN108776608A (zh) * | 2018-06-19 | 2018-11-09 | 郑州云海信息技术有限公司 | 一种logo图片的切换方法、装置、设备及存储介质 |
CN109901901A (zh) * | 2019-01-29 | 2019-06-18 | 上海华章信息科技有限公司 | 可变帧率开机动画实现方法 |
CN110493456B (zh) * | 2019-07-29 | 2020-10-30 | 创新先进技术有限公司 | 一种动画播放方法、装置、终端设备及服务器 |
CN110881139A (zh) * | 2019-10-10 | 2020-03-13 | 深圳创维-Rgb电子有限公司 | 一种开机动画的显示方法、显示装置和计算机设备 |
CN112000400B (zh) * | 2020-01-18 | 2024-01-12 | 惠州华阳通用电子有限公司 | 一种动画资源文件生成方法及装置 |
CN111629249B (zh) * | 2020-05-15 | 2022-02-22 | 海信视像科技股份有限公司 | 一种开机图片的播放方法及显示设备 |
CN112565771B (zh) * | 2020-11-30 | 2024-08-02 | 博泰车联网科技(上海)股份有限公司 | 图片压缩方法、装置、电子设备及介质 |
CN116400967B (zh) * | 2023-03-27 | 2024-05-14 | 江苏卓易信息科技股份有限公司 | 一种基于uefi bios流畅播放开机动画的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6064393A (en) * | 1995-08-04 | 2000-05-16 | Microsoft Corporation | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline |
CN1928910A (zh) * | 2006-09-18 | 2007-03-14 | 何金鑫 | 提高互联网广告传播有效性的方法 |
CN101080065A (zh) * | 2006-05-24 | 2007-11-28 | 三星电子株式会社 | 提供待机屏幕图层的方法及提供待机屏幕的方法 |
CN102024486A (zh) * | 2010-09-14 | 2011-04-20 | 北京神州泰岳软件股份有限公司 | 动画表情图片播放方法及系统 |
CN102117489A (zh) * | 2010-01-06 | 2011-07-06 | 深圳市网域计算机网络有限公司 | 动画播放方法及装置 |
-
2014
- 2014-01-26 CN CN201410038300.9A patent/CN103761132B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6064393A (en) * | 1995-08-04 | 2000-05-16 | Microsoft Corporation | Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline |
CN101080065A (zh) * | 2006-05-24 | 2007-11-28 | 三星电子株式会社 | 提供待机屏幕图层的方法及提供待机屏幕的方法 |
CN1928910A (zh) * | 2006-09-18 | 2007-03-14 | 何金鑫 | 提高互联网广告传播有效性的方法 |
CN102117489A (zh) * | 2010-01-06 | 2011-07-06 | 深圳市网域计算机网络有限公司 | 动画播放方法及装置 |
CN102024486A (zh) * | 2010-09-14 | 2011-04-20 | 北京神州泰岳软件股份有限公司 | 动画表情图片播放方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103761132A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761132B (zh) | 一种智能终端开机动画播放控制方法 | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
CN111899322B (zh) | 视频处理方法、动画渲染sdk和设备及计算机存储介质 | |
WO2020125567A1 (zh) | 一种动画自动生成方法及动画自动生成系统 | |
CN111408138B (zh) | 基于游戏引擎的渲染方法、装置及电子设备 | |
CN104933747B (zh) | 将矢量动画转换为位图动画的方法及装置 | |
CN111145318B (zh) | 一种基于ngui的渲染方法及装置 | |
CN109819315A (zh) | Hevc视频的播放方法、装置、终端及存储介质 | |
JP2010517134A (ja) | 異機種間プログラム連動方法及びそのミドルウェアプラットホームエンジン | |
CN102508662A (zh) | 一种基于brew平台的通用手机游戏开发系统和方法 | |
CN109788212A (zh) | 一种分段视频的处理方法、装置、终端和存储介质 | |
CN105959724A (zh) | 一种视频数据处理方法以及装置 | |
CN102087598A (zh) | 一种3d界面展示方法、装置及浏览装置 | |
CN110688601A (zh) | 一种数据处理方法及装置 | |
CN105988850A (zh) | 移动终端的开机控制方法和装置 | |
CN115361583B (zh) | 针对APP与Unity实时渲染视频帧纹理的方法 | |
CN105721942A (zh) | 一种智能电视的启动方法和智能电视 | |
US11593990B1 (en) | Storage of levels for bottom level bounding volume hierarchy | |
CN106210724A (zh) | 图片解码方法及装置 | |
CN110049347B (zh) | 在直播界面配置图像的方法、系统、终端和装置 | |
CN103686195A (zh) | 视频信息处理方法及设备 | |
CN102340488A (zh) | 一种游戏地图的下载方法、系统及移动终端 | |
CN105100862A (zh) | 网格移动的显示处理方法及其系统 | |
CN110971958A (zh) | 直播礼物横幅逐帧动画展示方法、存储介质、设备及系统 | |
CN102880459A (zh) | 基于VisualLisp编程语言下的编译实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |