swfheader 0.10 Released(已更正下載地址)
update:俺確實夠愚蠢了,竟然打包錯了。半夜打包的,看來真有點頭昏。非常抱歉,已經更正下載地址。swfheader是一個處理swf文件的工具腳本,可用於讀取swf文件頭信息、壓縮和解壓縮swf文件。很早以前發布過一個0.01版。最近複審了代碼,發現了一個愚蠢的讀二進製文件錯誤導致沒辦法正確的解壓或者壓縮swf文件。今天更正了此bug,重構了部分代碼並做了更多測試,已經可以正常使用。
項目地址:
https://code.google.com/p/swf-util/
項目描述:
一個輕量級的純Ruby實現的swf文件處理腳本,可以讀取swf文件頭信息(大小、幀率、長寬、是否壓縮、flash版本信息等)、壓縮swf文件和解壓縮swf文件。基於Apache License2協議發布。
示例
下載swfheader0.10.zip後,解壓後有README文件和swfheader-0.10.gem,通過
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=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
version: 8
compression: compressed
size: 5737111
nbits: 14
xmax: 7200
ymax: 5760
width: 360
height: 288
frameRate: 25
frameCount: 10409
2、解壓縮swf文件,如果源文件本身沒有被壓縮那麼將拋出異常:
require 'swfheader'
SwfUtil::decompress_swf("c:/test.swf","c:/test_decompressed.swf")
SwfUtil::decompress_swf("c:/test.swf","c:/test_decompressed.swf")
3、壓縮swf文件,如果源文件已經被壓縮將拋出異常:
require 'swfheader'
SwfUtil::compress_swf("c:/test.swf","c:/test_compressed.swf")
文章轉自莊周夢蝶 ,原文發布時間2008-10-11 SwfUtil::compress_swf("c:/test.swf","c:/test_compressed.swf")
最後更新:2017-05-18 11:01:59