CN103176788A - 一种手机桌面动画内容平滑过渡的方法和装置 - Google Patents

一种手机桌面动画内容平滑过渡的方法和装置 Download PDF

Info

Publication number
CN103176788A
CN103176788A CN2011104409875A CN201110440987A CN103176788A CN 103176788 A CN103176788 A CN 103176788A CN 2011104409875 A CN2011104409875 A CN 2011104409875A CN 201110440987 A CN201110440987 A CN 201110440987A CN 103176788 A CN103176788 A CN 103176788A
Authority
CN
China
Prior art keywords
animation
picture
formation
index value
transition cartoon
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.)
Granted
Application number
CN2011104409875A
Other languages
English (en)
Other versions
CN103176788B (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.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
MIGU Comic Co Ltd
Original Assignee
China Mobile Group Fujian 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 China Mobile Group Fujian Co Ltd filed Critical China Mobile Group Fujian Co Ltd
Priority to CN201110440987.5A priority Critical patent/CN103176788B/zh
Priority claimed from CN201110440987.5A external-priority patent/CN103176788B/zh
Publication of CN103176788A publication Critical patent/CN103176788A/zh
Application granted granted Critical
Publication of CN103176788B publication Critical patent/CN103176788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种手机桌面动画内容平滑过渡的方法和装置,首先生成起始动画队列、终止动画队列和过渡动画队列,再生成动画显示队列;顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息;根据图片的位置信息将每次读取的图片,使用缓冲机制调用容器进行播放。采用了本发明的技术方案,能够增加动画内容平滑特征,在用户体验上提高动画播放的质量,真正实现动画内容平滑,动画效果更加逼真。

Description

一种手机桌面动画内容平滑过渡的方法和装置
技术领域
本发明涉及数据业务技术领域,特别涉及一种手机桌面动画内容平滑过渡的方法和装置。
背景技术
目前为了实现动画平滑过渡,主要方法是利用窗口服务器创建顶端窗口组,基于顶端窗口组创建RWsSprite作为动画的容器,可以将gif解码成多帧附带掩码图的两张bmp图片,并添加到RWsSprite容器中,激活容器显示一组动画。
如需要平滑过渡至另一组动画方法有两种:
1.创建新RWsSprit容器,添加新动画内容后激活显示,同时删除原容器,如图1所示;
2.删除原RWsSprit容器的动画内容,添加新的动画内容,如图2所示。
如果已知待平滑过渡的动画内容,可同时将当前要播放的内容和待平滑过渡动画的内容一同解码放入一个RWsSprit容器进行播放,因容器可以按顺序循环播放其中的动画内容,也可以实现动画平滑过渡的效果。
现有的动画平滑过渡方法存在以下缺点:
1.内存占用多。如果要容器显示动画内容,首先需将待显示的动画内容解码成符合格式后添加到容器中。RWsSprit容器接收的图片参数要求为一张24位真彩色bmp和其对应的8位灰度bmp作为遮罩,位图是一种像素文件,它保存一幅图像中所有的像素,单张bmp图片大小只和色彩位数和图片尺寸有关,一张240*320尺寸的24位真彩色图片所占用的内存大概为256K,一张8位的灰度图片为86K。如果一组动画由很多帧构成,那么加入到容器中的图片所占用的内存大小为动画总帧数*(24位bmp图片占用内存的大小+8位bmp位图占用内存的大小),内存占用量很惊人,会直接影响手机的正常运行。
2.解码时延。如果动画内容以一组动画(gif)或者多张图片序列作为外部文件使用,当一组动画文件过大时(gif文件超过80K或多张较大的图片内容),解码时间随文件大小或文件数目呈线性增长,平滑过渡两组大动画文件时会出现明显的延时,失去了事件响应的实时性;
3.控制自由度。当RWsSprite容器内容填充完成,RWsSprite容器会循环播放其中的动画文件内容。因为容器提供的控制方法比较单一,对于放入其内的动画内容不能随意控制播放顺序和播放次数,而只能顺序循环播放。本提案中在平滑过渡至下一组动画之前插播一个过渡动画,并要求插播的过渡动画只播放一遍,使用现有的技术发很难做到自如控制动画播放顺序。
发明内容
本发明的目的是提供一种手机桌面动画内容平滑过渡的方法与装置,能够增加动画内容平滑特征,在用户体验上提高动画播放的质量,真正实现动画内容平滑,动画效果更加逼真。
根据本发明的一方面,提供了一种手机桌面动画内容平滑过渡的方法,包括步骤:根据预置在手机中的起始动画、终止动画和过渡动画分别生成起始动画队列、终止动画队列和过渡动画队列,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列;顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息;根据图片的位置信息将每次读取的图片,使用缓冲机制调用容器进行播放。
本发明中一种手机桌面动画内容平滑过渡的方法,在手机中预置的图片都是png图片,还包括以下步骤:根据图片的位置信息读取带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片。
本发明中一种手机桌面动画内容平滑过渡的方法,还包括以下步骤:根据手机中起始动画个数和终止动画个数,建立二维过渡动画索引表,并赋予初始值均为-1;根据动画配置文件中关于起始动画和终止动画两者与对应过渡动画的信息,将起始动画在起始动画队列中的索引值记录为过渡动画的索引表的横坐标,将终止动画在终止动画队列中的索引值记录为过渡动画的索引表的纵坐标,将过渡动画的索引表中的索引值赋值为该过渡动画所在过渡动画队列中的索引值加1取反所得的值。
本发明中一种手机桌面动画内容平滑过渡的方法,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列的步骤进一步包括:将当前动画作为起始动画;根据***或用户事件获取待播放的动画作为终止动画;根据起始动画的索引值与终止动画的索引值在过渡动画索引表中查询过渡动画的索引值;以起始动画索引值、过渡动画索引值和终止动画索引值为存储内容生成动画显示队列。
本发明中一种手机桌面动画内容平滑过渡的方法,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列的步骤进一步包括:预设起始动画或终止动画中的一个为中间动画;将当前动画作为起始动画,根据***或用户事件获取待播放的动画作为终止动画;判断起始动画或终止动画是否为中间动画,如果均不是中间动画,则在起始动画与终止动画之间***中间动画,生成起始动画至中间动画和中间动画至终止动画两组动画;初始化动画显示队列;将起始动画的索引值加入动画显示队列;根据起始动画的索引值与中间动画的索引值在过渡动画索引表中查询过渡动画的索引值,如果过渡动画的索引值不为-1,则将起始动画和中间动画相对应的过渡动画的索引值加1取反,加入到动画显示队列;将中间动画的索引值加入动画显示队列;根据中间动画的索引值与终止动画的索引值在过渡动画索引表中查询过渡动画的索引值,如果过渡动画的索引值不为-1,则将中间动画和终止动画相对应的过渡动画的索引值加1取反,加入到动画显示队列;将终止动画的索引值加入动画显示队列。
本发明中一种手机桌面动画内容平滑过渡的方法,起始动画图片和终止动画图片循环显示至少一遍,过渡动画图片播放一遍。
本发明中一种手机桌面动画内容平滑过渡的方法,所生成的起始动画队列、终止动画队列、过渡动画队列分别保存了各自队列中每组动画的图片帧信息,所述图片帧信息包括帧序号、图片帧对应的图片名称、帧间隔时间和图片位置信息。
本发明中一种手机桌面动画内容平滑过渡的方法,根据图片的位置信息读取带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片的步骤进一步包括:调用动画显示队列,从动画显示队列中顺次读取动画索引值;如果动画索引值小于0,则取反减1得到修正的动画索引值,根据修正的动画索引值在过渡动画队列中读取对应过渡动画的图片帧信息,否则根据动画索引值在起始动画队列或终止动画队列中读取对应动画的图片帧信息;根据图片帧信息中的图片位置信息读取移动终端的32位带alpha通道的png图片,将png图片解码成32位带alpha通道的bmp图片;
通过以下公式分别计算每个扫描行实际的像素点个数以及字节数,
每个扫描行实际像素点个数=sW & 0x3?(sW+4-(sW& 0x3)):sW,其中,sW为待转换图片每行的像素个数,
每个扫描行所需字节数=((nWidth*nBits+31)/32)*4,其中,nBits为色彩位数,nWidth为每行像素个数;
在不足4字节倍数的以及不足4个像素点倍数的扫描行追加0,循环处理图片每个扫描行后生成一张24位真彩色bmp图片和一张8位的灰度bmp图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片。
本发明中一种手机桌面动画内容平滑过渡的方法,进一步包括:创建新的容器,将待播放的图片填充至新创建的容器,调用新创建的容器播放所填充的图片。
本发明中一种手机桌面动画内容平滑过渡的方法,进一步包括:
A.检测是否存在正在显示动画的容器,如果已经存在,则转至步骤B,如果不存在,则转至步骤C;
B.创建缓冲容器,转至步骤D;
C.创建主容器,转至步骤D;
D.将生成的24位真彩色bmp和8位的灰度bmp填充至缓冲容器或主容器中;
E.检测是否存在正在显示动画的容器,如果有,则转至步骤F,如果没有,则转至步骤G;
F.关闭正在显示动画的容器,然后激活缓冲容器,转至步骤H;
G.激活主容器,转至步骤H;
H.刷新窗口服务器,显示动画;
I.开启计时器;
J.依次读取显示动画队列中的下一帧图片位置信息,对根据图片位置信息查询到的图片进行解码,等待时间片到达;
K.当时间片到达,循环步骤A至步骤J。
根据本发明的另一方面,还提供了一种手机桌面动画内容平滑过渡装置,包括过渡动画生成模块和动画缓冲播放模块,其中,过渡动画生成模块,用于根据预置在手机中的起始动画、终止动画和过渡动画分别生成起始动画队列、终止动画队列和过渡动画队列,根据起始动画队列、终止动画队列、过渡动画队列和动画配置文件的信息生成动画显示队列,并将动画显示队列输送给动画缓冲播放模块;动画缓冲播放模块,用于顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息,根据图片的位置信息将每次读取的图片,使用缓冲机制调用容器进行播放。
本发明中一种机桌面动画内容平滑过渡装置,在手机中预置的图片都是png图片,还包括:图片解码模块,用于顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息,根据图片的位置信息读取手机中带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片输送给动画缓冲播放模块。
本发明中一种机桌面动画内容平滑过渡装置,还包括:过渡动画索引表创建模块,用于创建过渡动画索引表。
本发明中一种机桌面动画内容平滑过渡装置,还包括,容器创建模块,用于创建新的容器;所述新创建的容器填充待播放的图片,所述动画缓冲播放模块调用新创建的容器播放所填充的图片。
本发明的技术效果在于,基于现有素材的动画内容平滑过渡,采用过渡动画索引表的方式提供快速检索的方法,查找图片速度提高;在图片解码中,对每张图片都进行字节与像素对齐,减少了图片的失真;桌面动画的显示方面通过动画容器的特殊使用方法,达到动画播放的无延时切换,这种特殊的显示方法及缓冲机制保证了动画切换的流畅,使动画形象动作展示形象逼真;上述三个特性增加了动画内容平滑特征,在用户体验上提高动画播放的质量,真正实现动画内容平滑,动画效果更加逼真。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有的一种手机动画播放方法的示意图;
图2是现有的另一种手机动画播放方法的示意图;
图3是本发明具体实施方式一中的手机桌面动画内容平滑过渡流程图;
图4是本发明具体实施方式一中起始动画、过渡动画和终止动画之间关联关系示意图;
图5是本发明具体实施方式一中起始动画、过渡动画、中间动画和终止动画之间关联关系示意图;
图6是本发明具体实施方式一中所使用的字节对齐示意图;
图7是本发明具体实施方式一中动画缓冲显示流程图;
图8是本发明具体实施方式二中手机桌面动画内容平滑过渡装置的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
以下将结合说明书附图,详细描述本发明。
通常动画文件可以为单个gif/swf或一组图片序列,如果以一组动画(gif/swf)作为外部文件使用,当一组动画文件过大时(gif文件超过80K),解码时间随文件大小呈线性增长,平滑过渡延时增加从而导致事件响应实时性。因此本发明采用一组png图片序列来表达一个动画。
如图3所示,本发明手机桌面动画内容平滑过渡的方法主要包括如下步骤:
在手机预置起始动画、终止动画、过渡动画和动画配置文件,生成起始动画队列、终止动画队列和过渡动画队列,根据起始动画队列、终止动画队列、过渡动画队列和动画配置文件的信息生成动画显示队列;
顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息;根据图片的位置信息读取手机中带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片;
使用缓冲机制处理每次生成的不带alpha通道的真彩色bmp图片和灰度图片,容器进行播放。
基于动画内容的平滑过渡的方法,主要是针对任意两组动画间的切换实现平滑过渡,通过在动画A和动画B间加播一组过渡动画来实现动画内容间的平滑过渡效果。
每组动画内容由多张图片序列组成,图片格式可选用bmp、jpg、png等常用格式。本发明的方法中采用png图片序列,可以实现有透明效果的动画播放。动画播放所需的素材需要在手机中预置,素材包括起始、终止状态动画以及过渡动画。通过该方法构造一组动画序列,按照动画序列顺序播放,则可使动画A至动画B间播放实现内容平滑切换。
为实现动画内容的平滑过渡,根据动画性质将所有动画划分成状态动画、过渡动画。状态动画也可称为起始或终止动画,状态动画可循环多遍显示;过渡动画在两段状态动画间播放,通常只播放一遍,起到衔接起始和终止状态动画内容的效果。
使用过渡动画衔接两个状态动画,即在完整播放完第一个状态动画后***一个过渡动画,当过渡动画完整播放一遍后再循环播放第二个状态动画。具体的实施方法:
记录当前正在播放的状态动画作为起始状态;
根据***或用户事件获取终止状态动画作为终止状态;
通过两个状态动画所在队列的索引值读取过渡动画索引表,获取过渡动画所在队列的索引值;
以起始动画索引值、过渡动画索引值和终止动画索引值构成待播放动画序列。
为快速计算获取两个状态动画间的过渡动画索引值,可建立过渡动画索引表,使用两个状态动画索引作为游标快速查询相应过渡动画的索引值。过渡动画索引表通过扫描本地动画配置文件进行初始化构造,具体初始化步骤如下:
根据状态动画个数,建立二维的过渡动画的索引表,初始化为-1;
扫描动画配置文件,顺序处理状态动画和过渡动画标号(id和TID);
将读取到过渡动画的标号拆分成两部分,分别记录为横、纵坐标;
将横纵坐标所对应的索引值赋值为该过渡动画所在其队列中的位置。
动画配置文件的一部分示例如下:
Figure BDA0000124764930000091
其中,<AN>标签容为状态动画的信息,id表示状态动画序号;<TAN>标签内容为过渡动画的信息,TID表示过渡动画序号。根据TID可拆分为对应状态动画的序号,暂时记录为横纵坐标,将该过渡动画的序号值赋值给对应横纵坐标的值。
横纵坐标值为状态动画所在队列的索引值,索引表中的值表示过渡动画所在队列的索引值。当给定两个状态动画的索引值(a,b),以(a,b)为横纵坐标值取出对应索引表值,此数值则为过渡动画在过渡动画队列中的序号。下表为根据n幅状态动画图片所建立的过渡动画索引表的示意。
Figure BDA0000124764930000101
通过插播过渡动画的方式可以解决动画内容平滑切换的问题,但是需要预置的动画数量也有增加,为减少过渡动画的个数,在两个状态动画中加入一个中间动画,可以有效减少过渡动画的数量。中间动画是一个特殊的动画,也可以作为状态动画使用。
如图4所示,假设有n个状态动画,并且任意两个状态动画间均需要过渡时,需要的过渡动画数量为n2,所需过渡动画数量较多。如图5所示,如果使用中间动画作为中间动画状态使用,从起始动画到终止动画可转化先从起始动画到中间状态,再从中间状态到终止动画,所有状态动画间的过渡动画数量则为2n,可以大幅度减少过渡动画的数量。
当由***或用户事件触发切换动画时,需要使用当前动画状态和终止过渡动画状态检索过渡动画索引表,获取过渡动画的索引值,通过索引值从过渡动画序列获取动画文件名称,再使用动画播放模块实现动画切换,具体实现步骤如下:
接收到切换动画的事件时,将当前状态动画记为起始动画状态,新事件所产生的动画记为终止动画状态;
检查起始状态动画或终止状态动画,如果均不是中间动画,则在两个动画间***中间动画,则由原来的一组动画(起始动画至终止动画)变为两组动画(起始动画-中间动画-终止动画);
重置动画显示队列值,初始值均为-1;
取出第一组动画的起始动画编号和终止动画编号,在过渡动画映射表中查询过渡动画所在队列的索引值,如果值为-1,则不存在过渡动画,如果值不为-1,则将索引值加1取反,加入到动画显示队列;
将第一组的终止动画编号加入动画显示队列;
如果存在第二组动画(加入中间动画的情况),使用第二组的动画的起始动画编号和终止动画编号,在过渡动画映射表中查询过渡动画所在队列的索引值,如果值不为-1,则将索引值加1取反,加入到动画显示队列;
如果存在第二组动画(加入中间动画的情况),再将第二组过渡动画的终止动画加入动画显示队列;
按照过动画显示队列中的索引顺序播放动画,如果索引值小于0,则取反减1求得正确的索引值,使用索引值从过渡动画队列中取出动画播放,如果索引值大于等于0,则使用索引值从状态动画队列中取出动画播放。
以上的将索引值取反操作是因为状态动画和过渡动画分别存放在两个队列中,为了区分状态动画和过渡动画的索引值(索引值均从0开始,依序递增),每次将过渡动画的索引值加1取反存入,取出时取反减一还原,状态动画索引值不做处理,即可根据索引值的正负判断动画所在队列。
使用过渡动画索引表可以快速检索两个动画间的过渡动画索引,实现动画的播放需对计算后的动画队列中的动画图片依次解码显示,完成动画播放。
因为平台对图片格式的使用限制,使得不能直接使用png格式进行读取显示,而需要额外的图片转换;进一步,欲实现半透明效果,***需要除真彩色位图之外的对应8位掩码图片,将两张图片进行叠加实现图片的半透明效果。
图片解码的原理是压缩的反过程,解码时可根据码表信息和压缩码流还原出原始图像数据。本发明采用自编码的png解码模块对加载的图片进行解码,生成一张32位带alpha通道的位图,再对32位带alpha通道的bmp做二次处理,主要包括位图对齐和像素点数对齐,生成一张24位真彩色bmp和一张8位灰度bmp,将两张图片作为显示模块的输入便可实现透明效果。
i字节对齐
结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。为了使CPU能够对变量进行快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整除。如果跨越了4字节或少于4个字节都会降低变量访问速度。
ii位图对齐
BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,是一种像素文件,它保存了一幅图像中所有的像素。这种文件格式可以保存单色位图、16色或256色索引模式像素图、24位真彩色图像,每种模式中单一像素的大小分别为1/8字节,1/2字节,1字节和3字节。在Windows下为了能够加快CPU的处理速度,Windows规定图像文件中一个扫描行所占的字节数必须是4的倍数(即以字为单位),不足位以0填充。
当图像一个扫描行所占字节数小于4的倍数时,位图数据的大小不能按照位图头部信息中的行宽计算,需要进行额外的补位计算。
定义:每行象素的数据长度(nWidthBytes),色彩位数(nBits),每行像素个数(nWidth)。
单色位图:nWidthBytes=(nWidth+7)/8
4色位图:nWidthBytes=(nWidth+1)/2
16色位图:nWidthBytes=nWidth*2
24色位图:nWidthBytes=nWidth*3
32色位图:nWidthBytes=nWidth*4
通过上述的公式可计算一行数据实际使用的字节数,如果字节数不是4的倍数,则需要补位计算。图像文件中一个扫描行所占的字节数按下式计算(不压缩情况下):
每个扫描行所需字节数=((nWidth*nBits+31)/32)*4。     (1)
例如一张位图为29(宽)*100(高)像素,则nWidth为29,假如位图每个像素的数据是1位(一般是8位灰度图,或24位真彩图),则nBits为1,每个扫描行所需字节为((nWidth*nBits+31)/32)*4=((29*1+31)/32)*4=4个字节。补齐后长每个扫描行宽度为32位(4个字节),如图6所示:8位29位3位使用0补位
Symbian***提供了CFbsBitmap类管理位图,通过DataAddress()获取除图片信息头部以外的内存数据的地址指针,进行内存操作即可对图片内存数据进行修改。Symbian***中同样遵循了位图的字节对齐原则,同时还必须遵循每个扫描行的像素点的个数是4的倍数,不足位使用0补位。每个扫描行的像素个数的计算方法可按下式计算:
每个扫描行实际像素点个数=sW & 0x3?(sW+4-(sW& 0x3)):sW;(2)
sW为待转换图片每行的像素个数,在超出实际长度的像素点的位置上使用0来补位。
依据位图对齐和像素点个数对齐,对32位带alpha通道的bmp图进行内存值修改,通过上述的公式计算每个扫描行实际的像素点个数以及字节数,在不足4字节倍数的以及不足4个像素点倍数的扫描行追加0,循环处理图片每个扫描行后生成一张24位真彩色bmp和一张8位的灰度bmp,用于透明图片的显示提供输入。从本地加载png图片,由png dll动态链接库进行解码,生成32位带alpha信息的bmp,将其拆分为24位真彩色图片和8位灰度图片,将两张图片进行叠加则可实现图片的透明。
由图片解码处理模块输出的24位真彩色图片和8位的灰度图片,作为动画缓冲模块的输入,将其显示在桌面上并进行快速切换实现具体的动画播放。
动画播放主要采用顺序播放动画图片帧的方式实现动画播放。初始化时构造的过渡动画和状态动画队列,其保存了每组动画中的全部动画帧信息,包括帧序号、动画帧对应的图片名称、帧间隔时间、图片的相对位置等信息。
当动画序列准备完毕,可顺序取出序列中的动画帧图片进行解码播放。当两个动画间切换时,为了实现平滑衔接、无延时的效果,动画显示模块采用了双缓冲的方法。
桌面显示动画采用RWsSprite作为显示容器,装载需要显示的图片,在屏幕最前端显示。现有技术将一组动画的全部内容解码完毕后一齐放入容器显示。本提案为了能够有效控制动画帧的播放顺序和播放次数,每次只填充一帧动画内容至RWsSprite容器中,然后刷新容器进行显示,显示的同时准备下一帧待显示的动画内容,主要操作是从计算得到的动画序列中获取下一帧图片索引,由图片解码模块对指定索引的图片进行解码,等待下一帧播放的时间点到达,当预先设定的时间片到达时,依次取出下一帧动画内容进行解码显示即可。此方法在生成动画序列时按照要求自行设置播放规则(播放顺序和播放次数),按照动画序列播放即可实现自如的动画内容控制。
过渡动画动态生成模块存在正在显示动画内容的容器创建缓冲容器创建主容器将动画帧放入新创建的容器检测是否有正在显示的容器关闭正在显示动画的容器激活新建容器刷新屏幕窗口组动画缓冲显示流程图是否是否调用外部模块解码下一帧图片等待时间片到达时间片到达时显示下一张图片外部模块开启计时器从动画序列中顺序取出索引值图片解码模块外部模块输出24位真彩色和8位灰度bmp
本发明中一种手机桌面动画内容平滑过渡的方法,进一步包括:创建新的容器,将待播放的图片填充至新创建的容器,调用新创建的容器播放所填充的图片。
如图7所示,动画缓冲的具体实现步骤如下:
1)根据事件接口传入的事件,使用过渡动画动态生成模块计算包含过渡动画的动画序列;
2)从动画序列中依次取出待播的动画图片索引;
3)使用图片索引读取本地动画文件,由图片解码模块进行解码生成一张24位和一张8位的位图;
4)检测是否存在正在显示动画内容的容器;
5)如果已存在正在显示动画的容器则创建缓冲容器;
6)如果不存在正在显示动画的容器则创建主容器;
7)将生成的24位的位图和8位的位图填充至新创建的容器中;
8)检测是否存在正在显示内容的容器;
9)如果有则关闭正在显示动画的容器,然后激活新容器;
10)如果没有则直接激活填充新内容的容器;
11)强制刷新窗口服务器,显示动画;
12)开启计时器;
13)依次取出动画序列中的下一帧图片索引,调用图片解码模块对该索引指向的图片进行解码,等待时间片到达;
14)当时间片到达,循环过程4)至过程13)。
如图8所示,本发明还公布了一种手机桌面动画内容平滑过渡装置,包括:过渡动画生成模块,用于保存起始动画图片的索引序列、过渡动画的图片索引序列和终止动画图片的索引序列,动态生成一组动画序列,并将动态生成的一组动画序列输送给图片解码模块;图片解码模块,用于从动画显示队列中顺次读取对应编号,依据编号读取本地32位带alpha通道的png图片作为输入,调用png解码DLL进行解码生成32位带alpha通道的bmp,再经过特殊的位图对齐计算,将32位带alpha通道的bmp分解为一张24位不带alpha通道的真彩色bmp和一张8位的灰度图片,并将这两张图片输送给动画缓冲播放模块;动画缓冲播放模块,用于将传入的两张bmp位图作为输入,使用容器进行播放,并使用缓冲机制处理每次传入的图片。
本发明中的一种机桌面动画内容平滑过渡装置,还包括:过渡动画索引表创建模块,用于创建过渡动画索引表。
本发明中一种机桌面动画内容平滑过渡装置,还包括,容器创建模块,用于创建新的容器;所述新创建的容器填充待播放的图片,所述动画缓冲播放模块调用新创建的容器播放所填充的图片。
综上所述,在本发明中,桌面动画的显示方面通过动画容器的特殊使用方法,达到动画播放的无延时切换,并且不会因桌面内容遮挡而影响移动终端用户的正常功能使用;本发明弥补了现有手机桌面动画播放内容不连贯的不足,增加了动画内容平滑特征,在用户体验上提高动画播放的质量,真正实现动画内容平滑,动画效果更加逼真;同时,使用中间状态动作作为动画中转有效减少了过渡动画个数,共减少了(n*n-2n)个,降低了对硬件(存储器)的要求。

Claims (14)

1.一种手机桌面动画内容平滑过渡的方法,其特征在于,包括步骤:
根据预置在手机中的起始动画、终止动画和过渡动画分别生成起始动画队列、终止动画队列和过渡动画队列,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列;
顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息;
根据图片的位置信息将每次读取的图片,使用缓冲机制调用容器进行播放。
2.如权利要求1所述的方法,其特征在于,在手机中预置的图片都是png图片,还包括以下步骤:
根据图片的位置信息读取带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片。
3.如权利要求1或2所述的方法,其特征在于,还包括以下步骤:
根据手机中起始动画个数和终止动画个数,建立二维过渡动画索引表,并赋予初始值均为-1;
根据动画配置文件中关于起始动画和终止动画两者与对应过渡动画的信息,将起始动画在起始动画队列中的索引值记录为过渡动画的索引表的横坐标,将终止动画在终止动画队列中的索引值记录为过渡动画的索引表的纵坐标,将过渡动画的索引表中的索引值赋值为该过渡动画所在过渡动画队列中的索引值加1取反所得的值。
4.如权利要3所述的方法,其特征在于,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列的步骤进一步包括:
将当前动画作为起始动画;
根据***或用户事件获取待播放的动画作为终止动画;
根据起始动画的索引值与终止动画的索引值在过渡动画索引表中查询过渡动画的索引值;
以起始动画索引值、过渡动画索引值和终止动画索引值为存储内容生成动画显示队列。
5.如权利要求4所述的方法,其特征在于,根据起始动画队列、终止动画队列、过渡动画队列和预置在手机中的动画配置文件的信息生成动画显示队列的步骤进一步包括:
预设起始动画或终止动画中的一个为中间动画;
将当前动画作为起始动画,根据***或用户事件获取待播放的动画作为终止动画;
判断起始动画或终止动画是否为中间动画,如果均不是中间动画,则在起始动画与终止动画之间***中间动画,生成起始动画至中间动画和中间动画至终止动画两组动画;
初始化动画显示队列;
将起始动画的索引值加入动画显示队列;
根据起始动画的索引值与中间动画的索引值在过渡动画索引表中查询过渡动画的索引值,如果过渡动画的索引值不为-1,则将起始动画和中间动画相对应的过渡动画的索引值加1取反,加入到动画显示队列;
将中间动画的索引值加入动画显示队列;
根据中间动画的索引值与终止动画的索引值在过渡动画索引表中查询过渡动画的索引值,如果过渡动画的索引值不为-1,则将中间动画和终止动画相对应的过渡动画的索引值加1取反,加入到动画显示队列;
将终止动画的索引值加入动画显示队列。
6.如权利要求1所述的方法,其特征在于,起始动画图片和终止动画图片循环显示至少一遍,过渡动画图片播放一遍。
7.如权利要求3所述的方法,其特征在于,所生成的起始动画队列、终止动画队列、过渡动画队列分别保存了各自队列中每组动画的图片帧信息,所述图片帧信息包括帧序号、图片帧对应的图片名称、帧间隔时间和图片位置信息。
8.如权利要求7所述的方法,其他特征在于,根据图片的位置信息读取带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片的步骤进一步包括:
调用动画显示队列,从动画显示队列中顺次读取动画索引值;
如果动画索引值小于0,则取反减1得到修正的动画索引值,根据修正的动画索引值在过渡动画队列中读取对应过渡动画的图片帧信息,否则根据动画索引值在起始动画队列或终止动画队列中读取对应动画的图片帧信息;
根据图片帧信息中的图片位置信息读取移动终端的32位带alpha通道的png图片,将png图片解码成32位带alpha通道的bmp图片;
通过以下公式分别计算每个扫描行实际的像素点个数以及字节数,
每个扫描行实际像素点个数=sW & 0x3?(sW+4-(sW & 0x3)):sW,其中,sW为待转换图片每行的像素个数,
每个扫描行所需字节数=((nWidth*nBits+31)/32)*4,其中,nBits为色彩位数,nWidth为每行像素个数;
在不足4字节倍数的以及不足4个像素点倍数的扫描行追加0,循环处理图片每个扫描行后生成一张24位真彩色bmp图片和一张8位的灰度bmp图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片。
9.如权利要求1或2述的方法,其特征在于,进一步包括:创建新的容器,将待播放的图片填充至新创建的容器,调用新创建的容器播放所填充的图片。
10.如权利要求9述的方法,其特征在于,进一步包括:
A.检测是否存在正在显示动画的容器,如果已经存在,则转至步骤B,如果不存在,则转至步骤C;
B.创建缓冲容器,转至步骤D;
C.创建主容器,转至步骤D;
D.将生成的24位真彩色bmp和8位的灰度bmp填充至缓冲容器或主容器中;
E.检测是否存在正在显示动画的容器,如果有,则转至步骤F,如果没有,则转至步骤G;
F.关闭正在显示动画的容器,然后激活缓冲容器,转至步骤H;
G.激活主容器,转至步骤H;
H.刷新窗口服务器,显示动画;
I.开启计时器;
J.依次读取显示动画队列中的下一帧图片位置信息,对根据图片位置信息查询到的图片进行解码,等待时间片到达;
K.当时间片到达,循环步骤A至步骤J。
11.一种手机桌面动画内容平滑过渡装置,其特征在于,包括过渡动画生成模块和动画缓冲播放模块,其中,
过渡动画生成模块,用于根据预置在手机中的起始动画、终止动画和过渡动画分别生成起始动画队列、终止动画队列和过渡动画队列,根据起始动画队列、终止动画队列、过渡动画队列和动画配置文件的信息生成动画显示队列,并将动画显示队列输送给动画缓冲播放模块;
动画缓冲播放模块,用于顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息,根据图片的位置信息将每次读取的图片,使用缓冲机制调用容器进行播放。
12.如权利要求11所述的装置,其特征在于,在手机中预置的图片都是png图片,还包括:
图片解码模块,用于顺次读取动画显示队列中的动画索引值,根据动画索引值得到图片的位置信息,根据图片的位置信息读取手机中带alpha通道的png图片,对所读取的png图片进行解码生成带alpha通道的bmp图片,再经过像素个数与字节对齐,将带alpha通道的bmp图片分解为一张不带alpha通道的真彩色bmp图片和一张灰度图片,将所述不带alpha通道的真彩色bmp图片和所述灰度图片进行叠加作为待播放的图片输送给动画缓冲播放模块。
13.如权利要求11或12所述的装置,其特征在于,还包括:
过渡动画索引表创建模块,用于创建过渡动画索引表。
14.如权利要求11或12所述的装置,其特征在于,还包括,容器创建模块,用于创建新的容器;所述新创建的容器填充待播放的图片,所述动画缓冲播放模块调用新创建的容器播放所填充的图片。
CN201110440987.5A 2011-12-26 一种手机桌面动画内容平滑过渡的方法和装置 Active CN103176788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110440987.5A CN103176788B (zh) 2011-12-26 一种手机桌面动画内容平滑过渡的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110440987.5A CN103176788B (zh) 2011-12-26 一种手机桌面动画内容平滑过渡的方法和装置

Publications (2)

Publication Number Publication Date
CN103176788A true CN103176788A (zh) 2013-06-26
CN103176788B CN103176788B (zh) 2016-12-14

Family

ID=

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363466A (zh) * 2014-11-04 2015-02-18 无锡天脉聚源传媒科技有限公司 一种图片生成方法及装置
CN105023286A (zh) * 2015-06-29 2015-11-04 天脉聚源(北京)科技有限公司 一种动画显示目标图片的方法及装置
CN105678828A (zh) * 2015-12-30 2016-06-15 合一网络技术(北京)有限公司 一种创建过渡动画的方法及装置
CN106878799A (zh) * 2017-02-21 2017-06-20 北京潘达互娱科技有限公司 一种动画显示方法及装置
CN107357934A (zh) * 2017-08-10 2017-11-17 北京本邦科技股份有限公司 一种基于Web的帧动画处理***及帧动画处理方法
CN107632809A (zh) * 2017-09-28 2018-01-26 四川长虹电器股份有限公司 图片滚轮式移位播放的方法
WO2018049761A1 (zh) * 2016-09-13 2018-03-22 广州视睿电子科技有限公司 一种gif文件的播放方法及***
CN107943417A (zh) * 2017-11-21 2018-04-20 广州市百果园网络科技有限公司 图像处理方法、终端、计算机存储介质及计算机程序
CN109165345A (zh) * 2018-08-07 2019-01-08 掌阅科技股份有限公司 转场动画的生成方法、电子设备及计算机存储介质
CN109218357A (zh) * 2017-07-01 2019-01-15 武汉斗鱼网络科技有限公司 网络广告加载的方法、存储介质、电子设备及***
CN109901903A (zh) * 2019-02-25 2019-06-18 努比亚技术有限公司 一种桌面绘制方法、设备及计算机可读存储介质
CN110381370A (zh) * 2019-07-22 2019-10-25 腾讯科技(深圳)有限公司 一种动画处理方法、装置、终端及存储介质
CN111935549A (zh) * 2020-09-22 2020-11-13 北京百度网讯科技有限公司 播放序列的更新方法、装置
CN112819927A (zh) * 2021-02-04 2021-05-18 上海哔哩哔哩科技有限公司 基于图片的视频生成方法、装置
CN114222151A (zh) * 2021-12-08 2022-03-22 广州方硅信息技术有限公司 开播交互动画的显示方法、装置及计算机设备
CN114461120A (zh) * 2021-05-12 2022-05-10 荣耀终端有限公司 显示方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013699A1 (en) * 2005-07-13 2007-01-18 Microsoft Corporation Smooth transitions between animations
US20070153006A1 (en) * 2006-01-04 2007-07-05 Microsoft Corporation Representing animation as a static image on a graphical user interface
CN101609561A (zh) * 2009-06-30 2009-12-23 广州市八丁动漫网络科技有限公司 一种实现动画间平滑过渡的方法
CN101893980A (zh) * 2009-05-20 2010-11-24 龙旗科技(上海)有限公司 一种带滑动动画效果的多图像查看界面的显示方法
CN101937309A (zh) * 2010-08-10 2011-01-05 深圳市金立通信设备有限公司 手机桌面flash动画人机交互***及方法
CN102214068A (zh) * 2011-04-28 2011-10-12 宇龙计算机通信科技(深圳)有限公司 页面切换显示的控制方法和移动终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013699A1 (en) * 2005-07-13 2007-01-18 Microsoft Corporation Smooth transitions between animations
US20070153006A1 (en) * 2006-01-04 2007-07-05 Microsoft Corporation Representing animation as a static image on a graphical user interface
CN101893980A (zh) * 2009-05-20 2010-11-24 龙旗科技(上海)有限公司 一种带滑动动画效果的多图像查看界面的显示方法
CN101609561A (zh) * 2009-06-30 2009-12-23 广州市八丁动漫网络科技有限公司 一种实现动画间平滑过渡的方法
CN101937309A (zh) * 2010-08-10 2011-01-05 深圳市金立通信设备有限公司 手机桌面flash动画人机交互***及方法
CN102214068A (zh) * 2011-04-28 2011-10-12 宇龙计算机通信科技(深圳)有限公司 页面切换显示的控制方法和移动终端

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363466B (zh) * 2014-11-04 2017-10-03 无锡天脉聚源传媒科技有限公司 一种图片生成方法及装置
CN104363466A (zh) * 2014-11-04 2015-02-18 无锡天脉聚源传媒科技有限公司 一种图片生成方法及装置
CN105023286A (zh) * 2015-06-29 2015-11-04 天脉聚源(北京)科技有限公司 一种动画显示目标图片的方法及装置
CN105678828A (zh) * 2015-12-30 2016-06-15 合一网络技术(北京)有限公司 一种创建过渡动画的方法及装置
CN105678828B (zh) * 2015-12-30 2020-03-31 合一网络技术(北京)有限公司 一种创建过渡动画的方法及装置
WO2018049761A1 (zh) * 2016-09-13 2018-03-22 广州视睿电子科技有限公司 一种gif文件的播放方法及***
CN106878799A (zh) * 2017-02-21 2017-06-20 北京潘达互娱科技有限公司 一种动画显示方法及装置
CN109218357A (zh) * 2017-07-01 2019-01-15 武汉斗鱼网络科技有限公司 网络广告加载的方法、存储介质、电子设备及***
CN107357934A (zh) * 2017-08-10 2017-11-17 北京本邦科技股份有限公司 一种基于Web的帧动画处理***及帧动画处理方法
CN107632809A (zh) * 2017-09-28 2018-01-26 四川长虹电器股份有限公司 图片滚轮式移位播放的方法
CN107943417A (zh) * 2017-11-21 2018-04-20 广州市百果园网络科技有限公司 图像处理方法、终端、计算机存储介质及计算机程序
CN109165345A (zh) * 2018-08-07 2019-01-08 掌阅科技股份有限公司 转场动画的生成方法、电子设备及计算机存储介质
CN109165345B (zh) * 2018-08-07 2020-02-18 掌阅科技股份有限公司 转场动画的生成方法、电子设备及计算机存储介质
CN109901903A (zh) * 2019-02-25 2019-06-18 努比亚技术有限公司 一种桌面绘制方法、设备及计算机可读存储介质
CN110381370A (zh) * 2019-07-22 2019-10-25 腾讯科技(深圳)有限公司 一种动画处理方法、装置、终端及存储介质
CN111935549A (zh) * 2020-09-22 2020-11-13 北京百度网讯科技有限公司 播放序列的更新方法、装置
CN111935549B (zh) * 2020-09-22 2022-06-28 北京百度网讯科技有限公司 播放序列的更新方法、装置
CN112819927A (zh) * 2021-02-04 2021-05-18 上海哔哩哔哩科技有限公司 基于图片的视频生成方法、装置
CN114461120A (zh) * 2021-05-12 2022-05-10 荣耀终端有限公司 显示方法及电子设备
CN114461120B (zh) * 2021-05-12 2022-10-28 荣耀终端有限公司 显示方法及电子设备
CN114222151A (zh) * 2021-12-08 2022-03-22 广州方硅信息技术有限公司 开播交互动画的显示方法、装置及计算机设备

Similar Documents

Publication Publication Date Title
CN109636884A (zh) 动画处理方法、装置及设备
WO2020248951A1 (zh) 动画渲染方法、装置、计算机可读存储介质和计算机设备
CN111899322B (zh) 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN1659595B (zh) 用于编码纹理信息的方法和设备
CN109218727A (zh) 视频处理的方法和装置
CN115908644A (zh) 动画处理方法和装置
CN102244784B (zh) 含透明信息图片压缩和显示的方法
CN111669623A (zh) 视频特效的处理方法、装置以及电子设备
CN103995684A (zh) 超高分辨率平台下的海量影像并行处理显示方法及***
CN103026386A (zh) 图像处理装置、图像显示装置、图像处理方法及图像文件的数据结构
CN107533752A (zh) 用于图形处理的基于表面格式的自适应存储器地址扫描
JP2015531097A (ja) アニメーション再生方法、装置、機器、プログラム、及び記録媒体
CN107707965A (zh) 一种弹幕的生成方法和装置
CN107767437B (zh) 一种多层混合异步渲染方法
CN102497567A (zh) 一种用于固态真三维体积式显示的体素数据重构方法
CN113327303B (zh) 图像处理方法、装置、计算机设备及存储介质
CN114205680A (zh) 视频封面展示方法及其装置、设备、介质、产品
WO2020248879A1 (zh) 动画数据编码、解码方法、装置、存储介质和计算机设备
CN102857535B (zh) 一种计算机处理单元、计算机网关、交互式***
CN102857534B (zh) 一种基于云计算的远程交互方法
CN103176788A (zh) 一种手机桌面动画内容平滑过渡的方法和装置
CN111402369A (zh) 互动广告的处理方法、装置、终端设备及存储介质
CN104364826A (zh) 三维数字漫画阅读器提供***及其方法
CN103176788B (zh) 一种手机桌面动画内容平滑过渡的方法和装置
CN116700943A (zh) 一种视频播放***、方法以及电子设备

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200811

Address after: No.1133 Jimei Avenue, Jimei District, Xiamen City, Fujian Province

Co-patentee after: Migu cultural technology Co., Ltd.

Patentee after: MIGU COMIC Co.,Ltd.

Co-patentee after: CHINA MOBILE COMMUNICATIONS GROUP Co.,Ltd.

Address before: 350003 No. 140 East Lake Road, Gulou District, Fujian, Fuzhou

Patentee before: CHINA MOBILE GROUP FUJIAN Co.,Ltd.