本发明专利技术提供一种从swf文件导出swf文件格式的矢量图的方法和装置,通过解析原文件头信息,得到原舞台宽值和原舞台高值;根据预设算法分别对所述原矢量图的宽值和所述原矢量图的高值进行计算,得到计算后的矢量图宽值和计算后的矢量图高值;用所述计算后的矢量图宽值替换所述原舞台宽值,用所述计算后的矢量图高值替换所述原舞台高值,得到新文件头信息;进而导出出swf文件格式的矢量图。采用简便的方法即可以提取Flash游戏画面中的某个特定对象,并且,提取出的特定对象为swf文件格式,从而方便用户查看Flash游戏画面中的某个特定对象,提高了用户的使用体验。
【技术实现步骤摘要】
本专利技术属于计算机
,具体涉及ー种从SWf文件导出SWf文件格式的矢量图的方法和装置。
技术介绍
Flash游戏是近年来新兴起的一种游戏形式,由于其具有游戏简单、操作方便、绿色、无需安装和文件体积小等优点而渐渐被广大网友喜爱。Flash游戏还具有ー个突出特点为Flash游戏中出现的各个游戏画面非常漂亮 和生动,视觉效果強烈,尤其对于单张游戏画面中出现的某个特定对象,游戏玩家通常有获取该特定对象的需要,从而方便游戏玩家对该特定对象进行编辑或进行其他操作。例如,某个游戏画面为一只棕色的小熊与一只白免在草丛中奔跑,棕色的小熊即可以为特定対象,将棕色的小熊图片从整个游戏画面中单独提取出来,可以方便游戏玩家对棕色的小熊进行各种操作。现有技术中,将某个特定对象从整个游戏画面中单独提取出来后,直接转化为svg图片格式,由于SVg图片兼容性差,导致许多软件均无法打开SVg图片,从而不方便用户查看Flash游戏画面中的某个特定对象。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供ー种从swf文件导出swf文件格式的矢量图的方法和装置,采用简便的方法即可以提取Flash游戏画面中的某个特定对象,并且,提取出的特定对象为swf文件格式,从而方便用户查看Flash游戏画面中的某个特定对象,提高了用户的使用体验。本专利技术采用的技术方案如下本专利技术提供ー种从swf文件导出swf文件格式的矢量图的方法,包括以下步骤SI,读取并解析源swf文件,得到所述源swf文件的原文件头信息、原文件属性标签信息、原对象放置标签信息、原显示帧标签信息、原结束标签信息和至少ー个原矢量图标签信息;S2,进ー步解析所述原文件头信息,得到原舞台宽值和原舞台高值;读取与需要导出的矢量图对应的指定原矢量图标签信息,然后解析所述指定原矢量图标签信息,得到原矢量图的宽值、原矢量图的高值以及用于唯一标识原矢量图的矢量图标识符;S3,根据预设算法分别对所述原矢量图的宽值和所述原矢量图的高值进行计算,得到计算后的矢量图宽值和计算后的矢量图高值;S4,用所述计算后的矢量图宽值替换所述原舞台宽值,用所述计算后的矢量图高值替换所述原舞台高值,得到新文件头信息;将S2得到的矢量图标识符写入所述原对象放置标签信息中,得到新对象放置标签信息;S5,将所述新文件头信息、所述原文件属性标签信息、所述原矢量图标签信息、所述新对象放置标签信息、所述原显示帧标签信息和所述原结束标签信息按顺序写入空白SWf文件中,得到与所述原矢量图标签信息对应的SWf文件格式的矢量图。优选的,S3具体为设置固定倍数值,所述原矢量图的宽值与所述固定倍数值作乘法计算,得到所述计算后的矢量图宽值;所述原矢量图的高值与所述固定倍数值作乘法计算,得到所述计算后的矢量图高值。优选的,所述固定倍数值为O. 8-1. 3。优选的,所述固定倍数值为I. O。本专利技术提供ー种从swf文件导出swf文件格式的矢量图的装置,包括 读取模块,用于读取源swf文件;文件解析模块,用于对所述读取模块读取到的源swf文件进行解析,得到所述源SWf文件的原文件头信息、原文件属性标签信息、原对象放置标签信息、原显示帧标签信息、原结束标签信息和至少ー个原矢量图标签信息;文件头解析模块,用于对所述文件解析模块解析得到的所述原文件头信息进行解析,得到原舞台宽值和原舞台高值;矢量图标签解析模块,用于对所述文件解析模块解析得到的所述原矢量图标签信息进行解析,得到原矢量图的宽值、原矢量图的高值以及用于唯一标识原矢量图的矢量图标识符;计算模块,用于对所述矢量图标签解析模块解析得到的所述原矢量图的宽值和所述原矢量图的高值进行计算,得到计算后的矢量图宽值和计算后的矢量图高值;替换模块,用于用所述计算模块计算得到的所述矢量图宽值替换所述文件头解析模块解析得到的所述原舞台宽值,用所述计算模块计算得到的所述矢量图高值替换所述文件头解析模块解析得到的所述原舞台高值,得到新文件头信息;对象放置标签更新模块,用于将所述矢量图标签解析模块解析得到的所述矢量图标识符写入所述文件解析模块解析得到的所述原对象放置标签信息中,得到新对象放置标签信息;新矢量图生成模块,用于将所述替换模块替换后得到的所述新文件头信息、所述文件解析模块解析得到的所述原文件属性标签信息、所述文件解析模块解析得到的所述原矢量图标签信息、所述对象放置标签更新模块得到的所述新对象放置标签信息、所述文件解析模块解析得到的所述原显示帧标签信息和所述文件解析模块解析得到的所述原结束标签信息按顺序写入空白SWf文件中,得到与所述原矢量图标签信息对应的SWf文件格式的矢量图。优选的,所述计算模块还用于设置固定倍数值,所述原矢量图的宽值与所述固定倍数值作乘法计算,得到所述计算后的矢量图宽值;所述原矢量图的高值与所述固定倍数值作乘法计算,得到所述计算后的矢量图高值。优选的,所述固定倍数值为O. 8-1. 3。优选的,所述固定倍数值为I. O。本专利技术的有益效果如下本专利技术提供的从swf文件导出swf文件格式的矢量图的方法和装置,采用简便的方法即可以提取Flash游戏画面中的某个特定対象,并且,提取出的特定对象为swf文件格式,从而方便用户查看Flash游戏画面中的某个特定对象,提高了用户的使用体验。附图说明图I为本专利技术提供的从swf文件导出swf文件格式的矢量图的方法的流程示意图;图2为本专利技术提供的从swf文件导出swf文件格式的矢量图的装置的结构示意图。具体实施方式 以下结合附图对本专利技术提供的从swf文件导出swf文件格式的矢量图的方法进行详细介绍如图I所示,本专利技术提供的从swf文件导出swf文件格式的矢量图的方法,包括以下步骤SI,读取并解析原swf文件,得到所述源swf文件的原文件头信息、原文件属性标签信息、至少ー个原矢量图标签信息、原对象放置标签信息、原显示帧标签信息和原结束标签信息。原swf文件通常包含多个矢量图,姆ー个矢量图卩隹ー对应ー个矢量图标签。在解析原SWf文件时,根据实际需要,可以解析得到所有矢量图标签,然后针对每ー个矢量图标签,均采取本专利技术提供的方法而最终获得与每ー个矢量图标签对应的SWf格式的矢量图;也可以仅解析得到特定的矢量图标签,然后通过本专利技术提供的方法获得与该特定矢量图标签对应的SWf格式的矢量图。如表I所示,为现有技术中swf文件的文件结构表表I :现有swf文件的文件结构表权利要求1.ー种从SWf文件导出SWf文件格式的矢量图的方法,其特征在于,包括以下步骤 SI,读取并解析源SWf文件,得到所述源SWf文件的原文件头信息、原文件属性标签信息、原对象放置标签信息、原显示帧标签信息、原结束标签信息和至少ー个原矢量图标签信息; S2,进ー步解析所述原文件头信息,得到原舞台宽值和原舞台高值; 读取与需要导出的矢量图对应的指定原矢量图标签信息,然后解析所述指定原矢量图标签信息,得到原矢量图的宽值、原矢量图的高值以及用于唯一标识原矢量图的矢量图标识符; S3,根据预设算法分别对所述原矢量图的宽值和所述原矢量图的高值进行计算,得到计算后的矢量图宽值和计算后的矢量图高值; S4,用所述计算后的矢量图宽值替换所述原舞台宽值,用所述计算后的矢量图高值替换所述原舞台高值,得到新文件头信息; 本文档来自技高网...
【技术保护点】
一种从swf文件导出swf文件格式的矢量图的方法,其特征在于,包括以下步骤:S1,读取并解析源swf文件,得到所述源swf文件的原文件头信息、原文件属性标签信息、原对象放置标签信息、原显示帧标签信息、原结束标签信息和至少一个原矢量图标签信息;S2,进一步解析所述原文件头信息,得到原舞台宽值和原舞台高值;读取与需要导出的矢量图对应的指定原矢量图标签信息,然后解析所述指定原矢量图标签信息,得到原矢量图的宽值、原矢量图的高值以及用于唯一标识原矢量图的矢量图标识符;S3,根据预设算法分别对所述原矢量图的宽值和所述原矢量图的高值进行计算,得到计算后的矢量图宽值和计算后的矢量图高值;S4,用所述计算后的矢量图宽值替换所述原舞台宽值,用所述计算后的矢量图高值替换所述原舞台高值,得到新文件头信息;将S2得到的矢量图标识符写入所述原对象放置标签信息中,得到新对象放置标签信息;S5,将所述新文件头信息、所述原文件属性标签信息、所述原矢量图标签信息、所述新对象放置标签信息、所述原显示帧标签信息和所述原结束标签信息按顺序写入空白swf文件中,得到与所述原矢量图标签信息对应的swf文件格式的矢量图。
【技术特征摘要】
【专利技术属性】
技术研发人员:张魁,
申请(专利权)人:四三九九网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。