热度 4||
在很多制作精美的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)。
|Archiver|小黑屋|星韵百科|星韵地理网 ( 苏ICP备16002021号 )
GMT+8, 2024-11-22 18:59 , Processed in 0.070431 second(s), 20 queries .
Powered by Discuz! X3.5
© 2001-2024 Discuz! Team.