Macromedia Flash文件格式(SWF)详细说明书
字段
|
类型 *
|
说明
|
签字标识
|
UI8
|
标识字符:
“F”表示未压缩
“C”表示已压缩(版本6或后续版本)
|
签字标识
|
UI8
|
此标识通常为“W”
|
签字标识
|
UI8
|
此标识通常为“S”
|
版本
|
UI8
|
单字节文件版本数(例如,0x06表示版本6)
|
文件长度
|
UI32
|
整个文件的字节长度
|
帧尺寸
|
RECT
|
单位帧的尺寸
|
帧率
|
UI16
|
每秒的帧数,其16个位是按照8.8的格式表示的
|
帧数
|
UI16
|
影片的总帧数
|
* 此类型在基本数据类型一节中定义
|
SWF文件格式
|
记录头部(短)
|
||
字段
|
类型
|
说明
|
标签编码和长度
|
U16
|
高10位:标签类型
低6位:标签长度
|
记录头部(长)
|
||
字段
|
类型
|
说明
|
标签编码和长度
|
U16
|
以短标签头部方式存储的
长度为63字节的标签编码和长度
|
长度
|
UI32
|
标签的长度
|
首先.我们来看一下SWF文件头格式以下为我的资料收集)
以一个实际的SWF文件头为例:
CODE:
字节 1-3 (46 57 53): SWF文件头标志,FWS表示未压缩,CWS表示压缩的SWF文件,需要从第9个字节起用ZLib解压
字节 4 (05): Flash文件的版本,这里表明它是用Flash5生成的字节 5-8 (B4 66 07 00):一个Integer表示文件的长度,低在前,高在后,这里是$000766B4 = 485044字节,这里应该等于未压缩的SWF文件实际大小或压缩过的SWF解压后的长度+文件头(8字节)
字节 9 - 。。。: SWF显示区域,(左上角坐标,右下角坐标),用下面的方法计算得到:第9字节前5位
CODE:
,以后的字节以14位进行分割,所需位数为
CODE:
,需要 8 个字节来表示,那么:
CODE:
01110 00000000000 00001111 10100000 00000000 0000000 010111011 10000000
01110 00000000000000 01111101000000 00000000000000 01011101110000 000
14 0 8000 0 6000
因为Flash的坐标是TWIP格式的,需要除以20的,所以实际为(0,400,0,300)
接 下来的两字节 (00 0C):表示帧速率,前一字节表示小数位,后一字节表示整数位,不过一般极少有小数位的帧率,所以一般我们只计整数就可以了,这里 $0C = 12,即每秒12帧再接下来的两字节 (9F 03):表示总帧数,WORD类型,$039F=927帧,与ShockwaveFlash.TotalFrames 得到的数值是一样的。
再后面的数据是SWF的实体数据
接 着:我们来看EXE文件的真正面目.其实EXE的SWF并不存在什么文件格式转换的问题,SWF文件之所以能变为EXE文件,无非是加入了一些流的操作罢 了.下面让我们看看EXE文件的由来,简单的说: EXE格式的SWF文件不过是一个Flash播放器程序后面跟着一个SWF文件,两个文件写在一起,然后再在文件末尾写入SWF文件的大小和 “FA123456”标示。故SWF->EXE的转换机制其实就这么简单.
而EXE->SWF呢,无非就是从文件末尾得到内嵌的SWF文件大小,然后新建一个空白的扩展名为.swf的文件,把内嵌的SWF文件写入这个新文件就可以了!
Macromedia Flash文件格式(SWF)详细说明书相关推荐
- Macromedia Flash MX 2004 V7.01 简体中文版下载地址及例视频教程(swf版)
Macromedia Flash MX 2004 V7.01 简体中文版 软件大小:48.65 MB 软件语言:简体中文 软件类别:国外软件 / 动画制作 运行环境:XP, 2000, NT, Win ...
- 网页中插入FLASH(swf文件)的html代码
一.简单插入flash图像 <embed src="你的flash地址.swf" width="300" height="220"&g ...
- flash脚本语言详细解读
flash脚本语言详细解读 - Go to 跳转到指定的帧 - Play 播放 - Stop 停止 - Toggle High Quality 在高画质和低画质间切换 - Stop All Sound ...
- pyqt5界面打开flash(.swf)文件
最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! 打开flash文件 网上关于pyqt5的内容特别少,对于查找一 ...
- 在vue中使用海康插件实现视频监控视频直播方法二(RTMP流加Flash加swf)
在vue中使用海康威视实现视频监控,视频直播方法二(RTMP流加Flash加swf) 第一步 用npm装这个几个包 "video.js": "^6.6.0",& ...
- CW3002GAAS规格书|CW3002GAAS详细说明书|CW3002GAAS代理
CW3002GAAS规格书|CW3002GAAS详细说明书|CW3002GAAS代理 CW3002GAAS概述 CW3002GAAS是USB专用充电控制器IC,完全兼容BC1.2和其他非BC1.2标准 ...
- flex加载外部swf文件[flex-swf and flash as3 swf],并且互相通讯-加强原来的帖
第一步:建立加载类[CtmObjLoader],此类可以加载文件类型 [图片文件或swf文件] package { import flash.display.DisplayObject; impor ...
- html插入swf自动播放,[转载]网页中插入FLASH(swf文件)的html代码
一.简单插入flash图像 width="300" height="220"> 二.调整插入flash图像 align="right" ...
- flash调用swf文件服务器,浏览器如何加载Flash文件? (SWF)
加载Flash文件有很多部分,更常见的是HTML页面. 我将从HTML页面的顶部开始,我敦促其他人纠正我可能犯的任何错误. 加载页面 当收到HTML页面时,浏览器会将其解析为文档对象模型(DOM),以 ...
最新文章
- 区块链论文:去中心化证人共同签名,让认证者诚信或被发现
- Linux学习笔记十四周一次课(5月9日)
- [zz]Ubuntu建立本地源实用案例
- (04741)计算机网络原理,04741计算机网络原理真题_成都英才教育网
- 快评《19家网站内容低俗被曝光》
- 分享Silverlight/WPF/Windows Phone一周学习导读(1月9日-1月16日)
- Couchbase 101:从Java应用程序创建视图(MapReduce)
- oracle字符串使用函数,oracle函数大全-字符串处理函数
- 程序员创业其实相比其他行业也有一些优势
- 区块容量 以太坊 比特币
- 1024,今天给大家发100个现金红包和思否课程、掘金小册
- 432考研_贾俊平《统计学》第1章 导论思维导图
- 集体心智:社会网络拓扑塑造集体认知
- redis从入门到入魔
- saas(sccs)、less、stylus三者的区别
- 全新设计 水果忍者-穿靴子的猫官方中文版首发
- 【XSY3657】因数分解(容斥,DP)
- js 按钮实现跳转页面 jsp html
- 子类拷贝构造是否会调用父类的拷贝构造?
- RHCE(逻辑卷LVM,NFS服务)