[发明专利]将SWF转化为Canvas动画的方法和装置有效
| 申请号: | 201410548978.1 | 申请日: | 2014-10-16 |
| 公开(公告)号: | CN105513115B | 公开(公告)日: | 2020-06-16 |
| 发明(设计)人: | 郑高强;沈婧 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06T13/80 | 分类号: | G06T13/80 |
| 代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | swf 转化 canvas 动画 方法 装置 | ||
1.一种将SWF转化为Canvas动画的方法,包括以下步骤:
对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件定义存储到元件池中;
对所述图形进行压缩处理,导出压缩后的图形数据;
对所述影片剪辑进行压缩处理,导出影片剪辑的帧操作指令,所述帧操作指令包括放置元件指令、移出元件指令、缓动元件指令中至少一种;
通过脚本运行库的应用函数调用压缩后的图形数据和影片剪辑的帧操作指令,还原为Canvas动画。
2.根据权利要求1所述的方法,其特征在于,所述对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件的定义存储到元件池中的步骤包括:
对SWF文件进行解析,抽离每个元件的定义,从根影片剪辑开始逐帧遍历每个元件,若元件为图形,生成图形数据,存储到元件池中;
若元件为影片剪辑,生成对应的影片剪辑定义,且不填充帧操作,存储到元件池中,并遍历所述影片剪辑得到所述影片剪辑临时数据,再根据元件池中的影片剪辑定义逐帧对所述影片剪辑临时数据进行解析,得到帧操作列表信息,所述帧操作列表信息包括元件名称、定义标识和帧操作信息,将所述帧操作列表信息填充所述影片剪辑定义,并将所述填充后的影片剪辑定义存储到元件池中。
3.根据权利要求2所述的方法,其特征在于,在将元件定义存储到元件池之前,所述方法还包括:
判断所述元件池是否已存在所述元件定义,若是,则跳过,若否,则将所述元件定义存储到元件池。
4.根据权利要求1所述的方法,其特征在于,所述对所述图形进行压缩处理的步骤包括:
对所述图形的多种指令分别采用相应的预设字符表示;
将所述图形的路径信息的每个子指令及所对应的坐标数值作为一个单位进行压缩编码。
5.根据权利要求2所述的方法,其特征在于,所述对所述影片剪辑进行压缩处理的步骤包括:
对所述影片剪辑临时数据进行指令抽取处理和属性变化规律识别处理。
6.根据权利要求5所述的方法,其特征在于,所述对所述影片剪辑临时数据进行指令抽取处理和属性变化规律识别处理的步骤包括:
建立一个动态元件数组,记录当前帧中各元件的起始帧索引和每帧的属性信息;
遍历影片剪辑临时数据得到临时数组,将所述临时数组和动态元件数组进行比对查找得到元件被添加和移出的节点,生成放置元件指令和移出元件指令,并更新动态元件数组,且所述放置元件指令是从低层次元件向高层次元件遍历的顺序输出的,所述移出元件指令优先输出;
在移出元件和影片剪辑帧结尾时处理元件的位置变化信息,从即将移出的动态元件数组中的元件信息的帧信息数组中找到位置突变的点,在突变点输出放置元件指令;
在突变点之前有缓动变化或元件帧结尾之前有缓动变化的元件生成缓动元件指令。
7.根据权利要求5所述的方法,其特征在于,对影片剪辑进行压缩处理,还包括:
对默认值不输出;
无变化不输出;
对数字保留两位小数处理;
关键帧输出;
可执行化输出。
8.一种将SWF转化为Canvas动画的装置,其特征在于,包括:
遍历存储模块,用于对SWF文件进行解析,遍历所述SWF文件得到元件,所述元件包括影片剪辑和图形,并将所述元件定义存储到元件池中;
图形导出模块,用于对所述图形进行压缩处理,导出压缩后的图形数据;
影片剪辑导出模块,用于对所述影片剪辑进行压缩处理,导出影片剪辑的帧操作指令,所述帧操作指令包括放置元件指令、移出元件指令、缓动元件指令中至少一种;
还原模块,用于通过脚本运行库的应用函数调用压缩后的图形数据和影片剪辑的帧操作指令,还原为Canvas动画。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410548978.1/1.html,转载请声明来源钻瓜专利网。





