
swf
swf(shock wave flash)是Macromedia(现已被ADOBE公司收购)公司的动画设计软体Flash的专用格式,被广泛套用于网页设计、动画製作等领域,swf档案通常也被称为Flash档案。swf普及程度很高,现在超过99%的网路使用者都可以读取swf档案。这个档案格式由FutureWave创建,后来伴随着一个主要的目标受到Macromedia支援:创作小档案以播放动画。计画理念是可以在任何作业系统和浏览器中进行,并让网路较慢的人也能顺利浏览。swf 可以用Adobe Flash Player打开,浏览器必须安装Adobe Flash Player外挂程式。
基本介绍
- 外文名:swf
- 全称:shock wave flash
- 研发公司:ADOBE公司
- 特点:支持矢量和点阵图形
基本信息
SWF是一种基于矢量的Flash动画档案,一般用FLASH软体创作并生成SWF档案格式,也可以通过相应软体将PDF等类型转换为SWF格式。SWF格式档案广泛用于创建吸引人的应用程式,它们包含丰富的视频、声音、图形和动画。可以在Flash中创建原始内容或者从其它Adobe应用程式(如Photoshop或Illustrator)导入它们,快速设计简单的动画,以及使用Adobe AcitonScript 3.0开发高级的互动式项目。设计人员和开发人员可使用它来创建演示文稿、应用程式和其它允许用户互动的内容。Flash可以包含简单的动画、视频内容、複杂演示文稿和应用程式以及介于它们之间的任何内容。通常,使用Flash创作的各个内容单元称为应用程式,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程式。
如何播放SWF:
可以利用FLASH控制项实现播放FLASH的SWF档案,常用的第三方软体(如:实用Flash播放器、超级Flash播放器、SWF Flash Player)可以直接在主流下载站下载后并安装,即可使用。
可以利用FLASH控制项实现播放FLASH的SWF档案,常用的第三方软体(如:实用Flash播放器、超级Flash播放器、SWF Flash Player)可以直接在主流下载站下载后并安装,即可使用。
档案结构
第1节
swf档案的整体结构是 header + body的组成。
档案的开始是一个[档案头]
它的结构如下:
位元组 名称 说明
1 Signature
“F”表示非加密格式,”C”表示加密格式
1 Signature “W”无特殊意义
1 Signature “S”无特殊意义
1 Version 版本号,它表示对应播放器版本
4 FileLength 整个档案长度,低位在前
N FrameSize
RECT结构体,表示萤幕大小,具体结构和长度根据数据变化,分析方法另外讨论。
2 FrameRate 帧频,默认为12,高位在前
2 FrameCount
帧数,表明档案根下的帧数,低位在前
以上是swf中,最简单的一个tag,一个完整的swf档案是由很多独立的tag组成的。每一个tag都包括一个头和一个数据体,头有2种类型,短tag型和长­tag型。
短tag型由2byte构成,前10个bit表示tag类型,后6个bit表示tag长度。
长tag型由6byte构成,前10个bit表示tag类型,后6个bit固定为全1,后4个byte代表tag长度。
tag的长度不同于档案头的长度FileLength,它是除去tag头后的长度。
(另外)只有非加密的swf档案可以直接用以上的方法解析,加密的档案需要另外增加一步处理。
第2节
前节说明了swf档案是由1个head和1个body构成的。
并且解析了header的结构,和一个tag的header部分的简单说明。
下面余下的就是swf档案的body了。
整个档案body是由大量的tag组成的,通过分析tag的head部分,可以立刻知道这个tag的类型代码和长度。
如果你无法识别这个tag的类型,也可以利用tag的长度,直接跳过这个tag。
这种方式保证了版本的兼容性,即使出现了新的tag,老版本的播放器还是能够解析完整个swf档案而不出现错误,大不了就是不能提供新的功能而已。
SWF填充
SWF档案格式支持三个基本类型的填充。
实心填充
SWF一个简单的RGB或RGBA颜色填充。一个alpha值255指完全不透明的填充。SWF一个alpha值为零意味着完全透明填充。0和255之间的任何数字,将部分透明。
渐变填充
SWF渐变填充可以是线性或径向渐变。
点阵图填充
SWF点阵图填充是指一个点阵图character Id来填充。
格式转换
SWF档案可以通过PDF等类型的档案转换而来,事实上我们往往通过将doc、ppt、PDF等类型转换为SWF类型来实现线上预览功能。常用的swf格式转换器有FlashPrinter,swftools等。FlashPrinter採用虚拟印表机的形式,可以直接将doc、ppt等类型的档案转换为SWF格式。Swftools只能将PDF转换为SWF格式,对于doc等类型的转换需要先转变为PDF格式。