天天看點

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