提取SWF中的图像文件程序源代码
- 格式:doc
- 大小:23.50 KB
- 文档页数:3
swf文件的数据结构以及转为exe或从exe中剥离出swf的源代码SWF文件是由一个文件头,以及一系列的标签组成的。
标签类型有两种:定义型标签和控制型标签。
定义型标签把所有物体定义成一个个角色,这些角色存在字典里面。
控制型标签操作这些角色,并且控制影片的流程。
swf 的长度单位使用twips(缇),1像素=20缇,这样,分数的像素可以使用整数的缇表示。
swf 的字符串是以00结束的byte序列,采用utf-8编码。
下面介绍swf文件的数据结构。
一、文件头文件头的结构见表1。
表1:SWF文件头---------------------------------------------------------------------------字段字节数说明---------------------------------------------------------------------------标识符 3 “FWS”或“CWS”的ascii码版本号 1 版本,例如:1表示swf1,6表示swf6文件长度 4 长整形,文件的字节数,低位在前帧大小RECT结构SWF场景的大小,单位为twip(缇,1缇=1/20像素,与VB不同)帧速度 2 以8.8表示的浮点数(也有文章说这是一个整形数),默认=000C帧数 2 整形,影片总帧数,低位在前---------------------------------------------------------------------------说明:1.文件头以标识符开始,不是“FWS”就是“CWS”。
FWS表示该文件未压缩;CWS 表示文件从 RECT 字段开始(第 9 个字节开始)至文件结尾的所有内容,都是使用开放标准 ZLIB 压缩过的(CWS 是在 SWF6 以后才被使用的。
对其解压缩可以使用 zlib1.dll 中提供的uncompress)。
第一篇 Flash的SWF文件的搜寻和下载一、查看源代码当浏览网页见到诱人的Flash时,点击右键,在右键菜单中选择“查看源文件”(或点击“查看”菜单中的“源文件”),记事本就带着密密麻麻的源代码显示在面前。
点击菜单“工具/查找”(或按下快捷键“Ctrl+F”),在弹出的对话框中输入“.SWF”,即可查找到Flash的SWF文件,复制下载链接地址,注意看是绝对链接还是相对链接。
打开下载工具软件FlashGet或者NetAnts,粘贴链接地址URL就可以轻松地下载这个SWF文件了。
二、利用全屏欣赏的URL有很多网站为了方便网友看Flash作品,常常提供了全屏欣赏,这种方式最受笔者的欢迎了,只要直接在链接上按鼠标的右键,选择“复制快捷方式”,然后到下载工具上粘贴地址链接URL就可以了。
一些具有在IE中添加右键功能的下载工具就更简单了,如下载软件FlashGet,在链接上按鼠标右键,直接选择“使用网际快车下载”,这个Flash作品就乖乖地归到硬盘上去了。
三、在本机的临时文件夹中查找当你看过一个Flash后,IE便会自动将它存到临时文件夹中——C:\Windows\Temporary Internet Files——注意,这是针对Win98而言。
然后查询其中的.SWF文件,很快,所有的Flash文件都显示在眼前,只要把它们全部Copy到另外的目录,然后自己慢慢挑吧。
不过你首先要注意的是你的IE 所放临时文件夹的大小,如果太小,或许Flash动画就不会被记录,如果你根本取消了IE临时文件夹,那么这个方法并不适合你。
在Win2000中却不同,因为它根据不同用户设置了不同的各种参数,包括上网的记录,我们必须到以下的目录来查找: 操作系统盘\Documents and Settings\Administrator\Local Settings\Temporary Internet Files 或者: 操作系统盘\Documents and Settings\Default User\Local Settings\Temporary Internet Files 这是一种较为简单的方法,并且无需装任何新软件。
怎样快速抓取网页中的FLASH动画A:有如下几种方法:1、查看网页源代码,找到SWF文件的绝对地址,然后通过下载工具下载;2、在浏览器的缓存文件里找;3、用Flash辅助工具来查找,比如FlashJester Woof v1.0。
*****************************************巧抓网页中的flash现在很多的浏览器都带有储存flash的工具,如果你还用的是ie,没有什么抓flash 的插件的话,那你就不妨试一下这个麻烦的方法具体步骤如下:1、用InternetExplore打开你想抓取的flash动画所在的网页,直到flash动画完整出现;2、点击“收藏→添加到收藏夹”,这时出现选项,一定记住在“允许脱机使用”前面小框里打勾(这步很关键),然后点击“确定”;3、等电脑保存完后,点击“开始→查找→文件或文件夹”,在查找的名称里填入“*.swf”,搜索范围限定为“C:\WINDOWS\TemporaryInternetFiles”,查找之后你会惊喜地发现,你要的flash动画就在里面,而且是以单独的swf格式存在,要怎么用就看你了!******************************************招式1 查看脱机浏览文件法首先使用IE浏览观察该Flash,接下来依次选择“工具→Internet选项”,在“常规”选项卡中单击“设置”按钮,在打开的窗口中单击“查看文件”,这样系统会在资源管理器中打开所有脱机浏览文件。
由于这里文件众多,我们可以首先在空白区域单击右键,选择“排列图标→类型”菜单,这样可以很快定位到类型为“Shockware Flash Object”的文件,我们要保存的Flash文件就乖乖地躺在这里了,我们只需将其复制到硬盘的其他区域即可。
这个办法不仅不需要工具,而且还可以批量保存Flash,是不是比较简单呢?编辑提示:为了能够更快速的定位要保存的Flash文件,我们可以首先清空Internet历史文件夹,再用IE访问要下载的Flash。
一、分解获取素材一部精彩的动画,离不开好素材的支持。
那么我们如何才能将别人制作的SWF文件中精彩的素材“剥夺”出来呢!这就离不开SWF Browser的支持了。
安装好SWF Browser,双击桌面上建立的快捷方式启动程序。
SWF Browser 的界面很简洁,左侧为一个类似资源管理器的目录录,而右侧的大部分区域则是用来播放预览Flash动画的。
在左侧的目录树中浏览到要分解的SWF文件所在文件夹,然后在文件中选中要分解的具体某一个SWF文件,这样在预览区别则可以看到该文件了。
如果我们想先欣赏一下该SWF文件,那么很简单,只需要单击主界面中间竖着的工具条最上方的黑色小三角“播放”按钮,这样选中的动画就开始在右侧进行播放了(图1)。
开始分解了嘿,还真不错,通过刚才的欣赏发现里面有很多不错的图片和配音,赶紧将它们占为已有吧。
单击主界面上方的“SWF 分析状态:空闲-点击这里分析当前影片”,或者按下快捷键“Ctrl+P”对当前影片进行分解。
根据要分解的SWF文件的大小,分解的时间会略有不同;稍候片刻,就会在程序主界面右侧增加一个项目列表(如图2),这里包括了声音事件、声音流、图形、影片剪辑以及SWF结构等。
例如我们要保存一个音乐文件,那么只需要在声音事件中点击要提取出来的文件,这样就会自动弹出“另存为”对话框,设置一个保存的位置以及文件名,这样就可以轻松的将这部分声音提取出来。
将声音提取出来小提示:对于其它素材的提取方法是一样的,不过如果提取的是图片,那么还会有一个图片预览窗口。
另外在保存的时候不再是单击即进行保存,而是需要单击“保存图片”按钮方可(如图3)。
图片也不放过最近推荐:[让浏览器搜索速度暴增十倍的秘密!] [小块头大智慧:微软IE网络霸业十年回眸]二、妙取EXE动画素材通过SWF Browser可以轻松的获取SWF文件中的素材,但现在有一部分动画作成了EXE文件,这样它就无法下手了。
这个时候我们就需要借助Swifty Xena Pro的帮助了。
教你找FLASH动画文件的URL网址
大家可能有这样的体会,在网上看到漂亮的动画,却不知如何下载,也找不到这个文件的URL地址。
下面我就这个问题写一下方法。
一、如何下载动画文件“即.swf格式文件”。
swf动画文件是由FLASH动画软件制作出来的影片文件,由于其逼真的效果及其漂亮的色彩,得到了众多人们的喜爱,制作这些文件的人也被称作“闪客”。
网上的动画文件不像图片文件可以直接点击下载,然后保存到本机中。
这种文件要用软件下载。
如果没有这种软件该如何下载动画呢?
1、首先点击网页上面的工具栏中的“工具”-下拉后出现“internet选项”-删除cookies和删除文件-然后再打开含有这个动画的网页(以上操作是为了删除本机中的缓存文件,这样找动画文件更容易一些,不然如果有已经打开过的动画就会和你要找的混淆,增加寻找难度,将这些先删除掉,再找到的动画文件就是你要找的了。
当然不操作这一步也可)。
2、重新点击网页上面的工具栏中的“工具”-下拉后出现“internet选项”-选择internet临时文件中的“设置”-点击“查看文件”,这时就打开了缓存文件,从里面找flash这个图标,这就是此动画文件,将其复制粘贴到自己的本机中就可以欣赏了,当然,如果要链接到博客中,还必须重新将其上传才能在博客中显示。
Photoshop练习(一)阅读:21次作者:2010-10-28 < 12px >1.计算机图像处理技术能够实现的功能是()。
A.绘制图像B.加工图像C.合成图像D.A、B、C选项全部能实现【答案】D 书本P2-P4图像处理技术包括:①绘制图像;②选取图像;③加工图像;④合成图像;2.以下不是图像大小的常用尺寸单位的是()。
A.像素B.厘米C.像点D.英寸【答案】C 书本P11 倒数第2段图像大小的尺寸单位常用:像素(Pixel),厘米(cm)和英寸(inch)3.可以使图像边缘产生模糊效果,使得图像的合成自然和谐的命令是()。
A.模糊B.磁化C.描边D.羽化【答案】D 书本P13 倒数第2段图像的边缘有模糊的效果是“羽化”4. 以下不是常见的图像文件格式的是()。
A..pptB..psdC..jpgD..bmp【答案】APPT是PowerPoint文档的格式5.如果我们想减少选区,可以选择的功能键是()。
A.Shift键B.Alt键C. Ctrl键D. Del键【答案】 B 书本P13探究问题增加选区:Shift键减少选区:Alt键6.如果要选取色彩分布不均匀的图片中不规则图像,应采用的最佳工具是()。
A. B. C. D.【答案】 A7.以下哪种格式的图像文件属于压缩文件,容量较小,适合于在网上发布()。
A.bmpB.psdC. jpgD. tif【答案】 C 书本P19倒数第2行Jpg是压缩的文件格式,文件容量较小,适合于网上发布。
8.以下不属于“变换”选区的操作的是()。
A.缩放B.斜切C. 扭曲D. 透视E.渲染【答案】 E9.在Photoshop中移动图层,必须使用()工具。
A.选框工具B.魔棒工具C. 移动工具D. 文字工具【答案】 C10.在Photoshop中新建图像文件默认的背景颜色是()。
A.白色B.黑色C. 红色D. 蓝色【答案】 A11.在Photoshop中,文字应用了效果后,是否可以再对其内容和效果进行修改?()。
::工具功能:::1、到IE缓存挖掘宝贝(swf、flv、jpg、gif、mp3、wma、htm、自定义类型::2、清除IE缓存::3、自动重命名功能---IE cache里好多重名资源啊,现在好了,哈哈::---------------开始(下面代码存为*.bat)---------------------echo offset file_num=0cls::1.文件类型选择-------:startecho 请选择要提取的文件类型echo 1(swf) 2(flv) 3(jpg) 4(gif) 5(mp3) 6(wma) 7(htm) 8(其它类型) 9(清除IE缓存)10(退出) set /p type=if %type%==1 (set filetype=swf)if %type%==2 (set filetype=flv)if %type%==3 (set filetype=jpg)if %type%==4 (set filetype=gif)if %type%==5 (set filetype=mp3)if %type%==6 (set filetype=wma)if %type%==7 (set filetype=htm)if %type%==8 (echo 请输入文件类型,例如bmpset /p filetype=)if %type%==9 (goto :clear_cache)if %type%==10 (Exit)::2.是否删除原文件-------:select_del_or_notecho 提取后是否删除原文件?(y/n)set /p delornot=if %delornot%==y (goto startcopy)if %delornot%==n (goto startcopy)goto select_del_or_not::3.复制文件过程-------:startcopyecho 正在提取文件,请稍候……md %filetype%::在"%userprofile%\Local Settings\Temporary Internet Files\目录中查找所有文件for /f "delims=" %%i in ('dir "%userprofile%\Local Settings\Temporary InternetFiles\*.%filetype%" /s/b') do if not exist "%CD%\%filetype%\%%~nxi" (copy /y "%%i" "%CD%\%filetype%\") else (call :copy_same_name_file "%%~i" "%%~ni" "%%~xi")if %delornot%==y (for /f "delims=" %%i in ('dir "%userprofile%\Local Settings\Temporary Internet Files\*.%filetype%" /s/b') do del /f/q "%%i")goto :last::复制同名文件过程-------:copy_same_name_fileset file_n=%2set file_x=%3set /a file_num+=1::变量file_num自加1echo %file_num%if not exist "%CD%\%filetype%\%file_n%_%file_num%%file_x%" (copy %1 "%CD%\%filetype%\%file_n%_%file_num%%file_x%">nul) else call :copy_same_name_file %1 %2 %3set file_num=0goto :last::清除缓存过程-------:clear_cachefor /f "delims=" %%i in ('dir "%userprofile%\Local Settings\Temporary Internet Files\*.*" /s/b') do del /f/q "%%i":last::原程序使用goto :eofpause。
如何下载网页上的flash现在网上有很多精彩的flash作品,可是这些作品大都是没有源代码的swf 格式文件,并且有的还做了加密,平时只能通过ie浏览器查看。
如何才能更有效率地使用、查看、研究这些flash文件呢?这里我们为大家介绍一些用于分析学习flash作品的工具,希望能为大家的学习提供一些帮助。
第一篇flash的swf文件的搜寻和下载一、查看源代码当浏览网页见到诱人的flash时,点击右键,在右键菜单中选择“查看源文件”(或点击“查看”菜单中的“源文件”),记事本就带着密密麻麻的源代码显示在面前。
点击菜单“工具/查找”(或按下快捷键“ctrl+f”),在弹出的对话框中输入“.swf”,即可查找到flash的swf文件,复制下载链接地址,注意看是绝对链接还是相对链接。
打开下载工具软件flashget或者netants,粘贴链接地址url就可以轻松地下载这个swf文件了。
二、利用全屏欣赏的url有很多网站为了方便网友看flash作品,常常提供了全屏欣赏,这种方式最受笔者的欢迎了,只要直接在链接上按鼠标的右键,选择“复制快捷方式”,然后到下载工具上粘贴地址链接url就可以了。
一些具有在ie中添加右键功能的下载工具就更简单了,如下载软件flashget,在链接上按鼠标右键,直接选择“使用网际快车下载”,这个flash作品就乖乖地归到硬盘上去了。
三、在本机的临时文件夹中查找当你看过一个flash后,ie便会自动将它存到临时文件夹中——c: \windows \temporary internet files——注意,这是针对win98而言。
然后查询其中的.swf 文件,很快,所有的flash文件都显示在眼前,只要把它们全部copy到另外的目录,然后自己慢慢挑吧。
不过你首先要注意的是你的ie 所放临时文件夹的大小,如果太小,或许flash动画就不会被记录,如果你根本取消了ie临时文件夹,那么这个方法并不适合你。
■ Flash深入研究之三——编程提取SWF中的图像文件
————————————————以下为程序代码—————————————
unit SWFBlue_u1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActnList, StdActns, StdCtrls, Buttons, ShlObj, Zlib;
type
TMain = class(TForm)
b_open: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
OpenDialog1: TOpenDialog;
Label4: TLabel;
e_dir: TEdit;
SpeedButton1: TSpeedButton;
procedure b_openClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FileLength : LongWord; //SWF文件尺寸
FileBuf : Array of Byte; //将SWF文件读入内存存放
end;
var
Main: TMain;
implementation
{$R *.dfm}
procedure TMain.b_openClick(Sender: TObject);
由于该函数代码非常多,考虑到版面紧张,请读者参考文末的链接下载源程序自行查看,谢谢——东渐
}
end;
procedure TMain.Button3Click(Sender: TObject);
begin
Close;
end;
procedure TMain.FormShow(Sender: TObject);
var
s : string;
begin
s:=Application.ExeName;
s:=ExtractFilePath(s);
if s[Length(s)]<>'\' then s:=s+'\';
e_dir.Text:=s;
end;
procedure TMain.SpeedButton1Click(Sender: TObject);
var
s : string;
info : TBROWSEINFO;
buf : array [0..MAX_PATH] of char;
p : PItemIDList;
begin
FillChar(Buf[0],MAX_PATH+1,0);
with info do begin
hwndOwner:=Handle;
pidlRoot:=Nil;
pszDisplayName:=buf;
lpszTitle:='选择图像文件生成目录:';
ulFlags:=BIF_RETURNONLYFSDIRS;
lpfn:=Nil;
end;
p:=SHBrowseForFolder(info);
if Buf<>'' then begin
SHGetPathFromIDList(p,buf);
s:=Buf; if s[length(s)]<>'\' then s:=s+'\';
e_dir.text:=s;
end;
end;
end.。