注册 登录
星韵地理网 返回首页

dinghongtao的个人空间 http://xingyun.org.cn/?4916 [收藏] [复制] [分享] [RSS]

日志

转:三步提取ppt中的swf文件

热度 4已有 2040 次阅读2012-11-29 13:05 |系统分类:地理新闻| ppt

在很多制作精美的ppt课件中,往往少不了swf动画的点缀,要把这些swf文件从ppt中提取出来需要一定的技巧。

教物理的李老师正在做课件,他在网上下载了别的老师的课件做参考,这份课件里有一个制作精美的swf动画,李老师很想把这段动画提取出来用在自己的PPT里,但不知怎么办,于是找到我,我借助UltraEdit软件,很好地帮助李老师把问题解决了,来看我是如何实现的吧。

第一步:生成swf文件的“片段”
首先,我打开李老师说的那个课件,找到嵌有swf动画的那张幻灯片,单击一下使它处于当前编辑环境下。接着,在编辑区的“Flash控件”区域内右击,选择“复制”菜单项(图1)。然后,在桌面处右击,选择“粘帖”菜单项,把名为“片段”的文件复制到桌面上。

第二步:“搜索”swf的文件头
启动UltraEdit后(http://www.99d.com/down/171/36376.html),依次单击窗口的“文件->打开”。在“打开”对话框框中选中桌面上的“片段”文件,双击打开。接着,单击“搜索”菜单中的“查找”项,弹出“查找”对话框。
在“查找内容”文本框处输入“FWS”(或者是“CWS”,非加密的swf文件头是“FWS”, 加密的swf文件头是“CWS”),同时勾选“查找ASCII”,单击“向下”单选框,单击“下一个”按钮(图2)。


在UltraEdit窗口代码区中出现一行代码块“46 57 53 06 31 0F 01 00”(由于不同swf文件大小和版本不同,“46 57 53“后面的数值可能和这有所不同),这就是swf文件的文件头(图3)。

第三步:复制swf文件块。
根据swf文件的文件结构我们可知,“46 57 53”三个数值是swf文件的文件头的十六进制代码,“06”表示该swf文件的版本号,“31 0F 01 00”则是swf文件的文件大小。
由于这里的数值是以十六进制先低位再高位的方式排列,所以实际数值是要倒置过来,即文件大小是十六进制的“00 01 0F 31”,用WINXP自带的“计算器”软件把十六进制的“00 01 0F 31”换算成十进制等于“69425”。
在UltraEdit窗口代码区中,用鼠标选中 “46 57 53”后不松手,向右下方拖动代码块,直到代码块大小为69425时为止(UltraEdit右下角有文件大小的提示),光标刚好定位在“40 00 00 00”处,它是swf文件的文件结尾(图4)。


接着,在选中的代码块中右击,选择“复制”菜单。在主菜单下,依次单击“文件” ->“新建”,打开编辑窗口,在窗口内随意输入一个字符。依次单击窗口下的“编辑” ->“十六进制功能”->“十六进制编辑器”, 把编辑窗口变成十六进制编辑模式(图5)。


然后,选中窗口中的所有十六进制数值,右击后选择“粘帖”选项,这时整个选中的swf文件块都复制到编辑窗口内。最后,依次单击“文件”->“另存为”,在“文件名”处输入“1. swf”,单击“保存”后(扩展名一定是. Swf),李老师需要的swf文件就从ppt中被提取出来了(图6)。 

发表评论 评论 (5 个评论)

回复 庆龙梦幻之地 2012-11-29 15:14
重要技能,存档学习!谢谢分享!
回复 虎年生人 2012-11-29 18:56
学习了!~
回复 虎年生人 2012-11-29 19:32
试了一下,还真不太好用,有没有更好的办法?就是那个选编码的时候,如果flash大的话,选择的时候按住鼠标不动都需要十来分钟,太费事了。可能是我对软件不熟的原因吧?!
回复 xyq0107 2012-12-1 20:30
很少用flash。。。。技术贴还是要顶·!
回复 fenglinsky 2012-12-7 08:45
这个也太麻烦了吧,可以用swf提取助手,这样就简单了许多,我试过。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|Archiver|小黑屋|星韵百科|星韵地理网 ( 苏ICP备16002021号 )

GMT+8, 2024-12-23 04:20 , Processed in 0.191253 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部