[发明专利]一种替换swf文件中的矢量图的方法有效
申请号: | 201210248011.2 | 申请日: | 2012-07-17 |
公开(公告)号: | CN102789501A | 公开(公告)日: | 2012-11-21 |
发明(设计)人: | 马华亨 | 申请(专利权)人: | 厦门游家网络有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 赵建刚 |
地址: | 361008 福建省厦门市厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 替换 swf 文件 中的 矢量图 方法 | ||
技术领域
本发明涉及互联网应用技术领域,尤其涉及一种替换swf文件中的矢量图的方法。
背景技术
当需要对swf文件修改时,通常需要对swf文件中的矢量图进行替换,以达到修改swf文件的目的。
但是现有技术中,大部分都是只能查看swf文件中的矢量图,而不能替换。
即使可以通过自行编写程序的方式来替换swf文件中的矢量图的话,虽然实现了矢量图的替换,但替换过程中破坏了原始swf文件的属性,致使替换后的swf文件无法正常使用或得到的替换结果根本不是所需要的,也就失去了替换修改的意义。而且这种自行编写的程序无法应对所有的swf文件,所以其具有很大的局限性。
swf文件即以“.swf”结尾的文件,Swf即“shock wave flash”的缩写,是Macromedia(现已被ADOBE公司收购)公司的动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域。
发明内容
本发明的目的在于提供一种在不破坏原始swf文件、不改变原始swf文件的前提下,替换swf文件中的矢量图的方法,从而解决现有技术中存在的前述问题。为了实现上述目的,本发明采用的技术方案如下:
一种替换swf文件中的矢量图的方法,包括以下步骤:
S1,接收需要被替换矢量图的第一源swf文件;
S2,以二进制流方式读取所述第一源swf文件;
S 3,解析所述第一源swf文件的文件头,得到所述第一源swf文件的第一文件头信息;
S4,根据所述第一文件头信息,解析所述第一源swf文件中的标签,得到第一标签信息;
S5,根据所述第一标签信息,定位到第一DefineShape4标签;
S6,将用来替换的矢量图数据覆盖入所述第一源swf文件的所述第一DefineShape4标签中的特定部分;
S7,生成新的swf文件,完成替换。
优选的,所述特定部分是所述第一DefineShape4标签去除标签头信息、shapeID、ShapeBounds和EdgeBounds后的其他部分。
优选的,S3和S4之间还包括以下步骤:
根据所述第一文件头信息,判断所述第一源swf文件是否被压缩过;如果被压缩过,则先对其解压缩后再进行下一步;如果没有被压缩过,则直接进行下一步。
优选的,所述矢量图数据是通过以下步骤提取得到的数据:
S61,接收需要从其中提取矢量图数据的第二源swf文件;
S62,以二进制流方式读取所述第二源swf文件;
S63,解析所述第二源swf文件的文件头,得到所述第二源swf文件的第二文件头信息;
S64,根据所述第二文件头信息,判断所述第二源swf文件是否被压缩过;如果被压缩过,则先对其解压缩后再进行下一步;如果没有被压缩过,则直接进行下一步;
S65,根据所述第二文件头信息,解析所述第二源swf文件中的标签,得到第二标签信息;
S 66,根据所述第二标签信息,定位到第二DefineShape4标签;
S 67,取得所述第二DefineShape4标签中去除标签头信息、shapeID、ShapeBounds和EdgeBounds后的其他部分,即得到了所述矢量图数据。
本发明的有益效果是:
无需编程,操作简便易懂,提高了效率和降低了处理难度。
完整地保留了原始swf文件的属性、无破坏性。
附图说明
图1是本明的步骤流程图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
下表为,swf文件的结构:
其中的header为文件头部分,tag为标签部分。
下表为,swf文件中的矢量图标签(即,DefineShape4标签)的结构:
如图1所示,本发明所公开的替换swf文件中的矢量图的方法,包括以下步骤:
S1,接收需要被替换矢量图的第一源swf文件;
S2,以二进制流方式读取所述第一源swf文件;
S3,解析所述第一源swf文件的文件头,得到所述第一源swf文件的第一文件头信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门游家网络有限公司,未经厦门游家网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210248011.2/2.html,转载请声明来源钻瓜专利网。