[发明专利]将SWF转化为Canvas动画的方法和装置有效
申请号: | 201410548978.1 | 申请日: | 2014-10-16 |
公开(公告)号: | CN105513115B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 郑高强;沈婧 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06T13/80 | 分类号: | G06T13/80 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | swf 转化 canvas 动画 方法 装置 | ||
本发明涉及一种将SWF转化为Canvas动画的方法和装置。所述方法,包括以下步骤:对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件定义存储到元件池中;对所述图形进行压缩处理,导出压缩后的图形数据;对所述影片剪辑进行压缩处理,导出影片剪辑的帧操作指令;通过脚本运行库的应用函数调用压缩后的图形数据和影片剪辑的帧操作指令,还原为Canvas动画。上述将SWF转化为Canvas动画的方法和装置,缩减了数据尺寸,通过脚本运行库的应用函数直接调用压缩后的图形数据和帧操作指令等,不需条件判断,节省了计算时间,因数据尺寸小节省了下载时间,提高了播放流畅度。
技术领域
本发明涉及网络应用技术,特别是涉及一种将SWF转化为Canvas动画的方法和装置。
背景技术
SWF(Shock Wave Flash)是一种动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域,SWF文件通常被成为Flash文件。
Canvas动画是在HTML5(Hyper Text Mark-up Language,超文本标记语言)网页上使用画布元素绘制的动画。HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言的第五重大修改。
传统的将SWF转化为HTML5动画的方法有Swiffy和Flashcc。其中,swiffy通过解析SWF文件的字节码,分析得到动画中每一帧的信息,并把信息以json(JavaScript ObjectNotation,是一种轻量级的数据交换格式)形式输出,在网页侧,Swiffy通过一个javascript库对json信息做解析,动态生成svg图形,并逐帧变化,最终得到完整的动画。然而,Swiffy的运行库有450KB(千字节),对于移动网络的智能设备,播放动画需要消耗很长的下载时间,影响播放的流畅性。Flashcc是Flash动画制作工具的cc版本,集成了把SWF转化为Canvas动画的功能,然而,Flascc导出的脚本和运行支持库都较大,前者一般超过100KB,后者接近100KB,在移动网络下播放动画会消耗较长下载时间,影响播放的流畅性。
发明内容
基于此,有必要针对传统的将SWF转化为HTML5动画的方法需要消耗较长下载时间导致播放的流畅度低的问题,提供一种能节省下载时间,提高播放流畅度的将SWF转化为Canvas动画的方法。
此外,还有必要提供一种能节省下载时间,提高播放流畅度的将SWF转化为Canvas动画的装置。
一种将SWF转化为Canvas动画的方法,包括以下步骤:
对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件定义存储到元件池中;
对所述图形进行压缩处理,导出压缩后的图形数据;
对所述影片剪辑进行压缩处理,导出影片剪辑的帧操作指令;
通过脚本运行库的应用函数调用压缩后的图形数据和影片剪辑的帧操作指令,还原为Canvas动画。
一种将SWF转化为Canvas动画的装置,包括:
遍历存储模块,用于对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件定义存储到元件池中;
图形导出模块,用于对所述图形进行压缩处理,导出压缩后的图形数据;
影片剪辑导出模块,用于对所述影片剪辑进行压缩处理,导出影片剪辑的帧操作指令;
还原模块,用于通过脚本运行库的应用函数调用压缩后的图形数据和影片剪辑的帧操作指令,还原为Canvas动画。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410548978.1/2.html,转载请声明来源钻瓜专利网。