天天看点

swfheader 0.10 Released(已更正下载地址)

update:俺确实够愚蠢了,竟然打包错了。半夜打包的,看来真有点头昏。非常抱歉,已经更正下载地址。

   swfheader是一个处理swf文件的工具脚本,可用于读取swf文件头信息、压缩和解压缩swf文件。很早以前发布过一个0.01版。最近复审了代码,发现了一个愚蠢的读二进制文件错误导致没办法正确的解压或者压缩swf文件。今天更正了此bug,重构了部分代码并做了更多测试,已经可以正常使用。

项目地址:

<a href="http://code.google.com/p/swf-util/">http://code.google.com/p/swf-util/</a>

项目描述:

  一个轻量级的纯ruby实现的swf文件处理脚本,可以读取swf文件头信息(大小、帧率、长宽、是否压缩、flash版本信息等)、压缩swf文件和解压缩swf文件。基于apache license2协议发布。

示例

gem install  swfheader-0.10.gem

命令安装swfheader即可使用。

1、读文件头信息:

require 'swfheader'

header=swfutil::read_header("c:/test.swf"))

header.signature # 标志字符 cws表示压缩的swf文件,fws表示未压缩的

header.compression #compressed or uncompressed

header.size   #文件大小

header.nbits  #twips为单位的画面尺寸

header.xmax

header.ymax

header.width

header.height

header.version #flash版本

header.frame_date #帧率

header.frame_count #总帧数

header.inspect #信息描述字符串

header.inspect一个示例输出:

signature:   cws

version:     8

compression: compressed

size:        5737111

nbits:       14

xmax:        7200

ymax:        5760

width:       360

height:      288

framerate:   25

framecount:  10409

2、解压缩swf文件,如果源文件本身没有被压缩那么将抛出异常:

swfutil::decompress_swf("c:/test.swf","c:/test_decompressed.swf")

3、压缩swf文件,如果源文件已经被压缩将抛出异常:

swfutil::compress_swf("c:/test.swf","c:/test_compressed.swf")

文章转自庄周梦蝶  ,原文发布时间2008-10-11