swfheader 0.10 Released(已更正下載地址)
Posted on 2008-10-11 23:38 dennis 閱讀(1781) 評(píng)論(0) 編輯 收藏 所屬分類: 動(dòng)態(tài)語(yǔ)言 、my open-sourceupdate:俺確實(shí)夠愚蠢了,竟然打包錯(cuò)了。半夜打包的,看來(lái)真有點(diǎn)頭昏。非常抱歉,已經(jīng)更正下載地址。
swfheader是一個(gè)處理swf文件的工具腳本,可用于讀取swf文件頭信息、壓縮和解壓縮swf文件。很早以前發(fā)布過(guò)一個(gè)0.01版。最近復(fù)審了代碼,發(fā)現(xiàn)了一個(gè)愚蠢的讀二進(jìn)制文件錯(cuò)誤導(dǎo)致沒辦法正確的解壓或者壓縮swf文件。今天更正了此bug,重構(gòu)了部分代碼并做了更多測(cè)試,已經(jīng)可以正常使用。
項(xiàng)目地址:
http://code.google.com/p/swf-util/
項(xiàng)目描述:
一個(gè)輕量級(jí)的純Ruby實(shí)現(xiàn)的swf文件處理腳本,可以讀取swf文件頭信息(大小、幀率、長(zhǎng)寬、是否壓縮、flash版本信息等)、壓縮swf文件和解壓縮swf文件。基于Apache License2協(xié)議發(fā)布。
示例
下載swfheader0.10.zip后,解壓后有README文件和swfheader-0.10.gem,通過(guò)
1、讀文件頭信息:
header.inspect一個(gè)示例輸出:
2、解壓縮swf文件,如果源文件本身沒有被壓縮那么將拋出異常:
3、壓縮swf文件,如果源文件已經(jīng)被壓縮將拋出異常:
swfheader是一個(gè)處理swf文件的工具腳本,可用于讀取swf文件頭信息、壓縮和解壓縮swf文件。很早以前發(fā)布過(guò)一個(gè)0.01版。最近復(fù)審了代碼,發(fā)現(xiàn)了一個(gè)愚蠢的讀二進(jìn)制文件錯(cuò)誤導(dǎo)致沒辦法正確的解壓或者壓縮swf文件。今天更正了此bug,重構(gòu)了部分代碼并做了更多測(cè)試,已經(jīng)可以正常使用。
項(xiàng)目地址:
http://code.google.com/p/swf-util/
項(xiàng)目描述:
一個(gè)輕量級(jí)的純Ruby實(shí)現(xiàn)的swf文件處理腳本,可以讀取swf文件頭信息(大小、幀率、長(zhǎng)寬、是否壓縮、flash版本信息等)、壓縮swf文件和解壓縮swf文件。基于Apache License2協(xié)議發(fā)布。
示例
下載swfheader0.10.zip后,解壓后有README文件和swfheader-0.10.gem,通過(guò)
gem install swfheader-0.10.gem
命令安裝swfheader即可使用。1、讀文件頭信息:
require 'swfheader'
header=SwfUtil::read_header("c:/test.swf"))
header.signature # 標(biāo)志字符 CWS表示壓縮的swf文件,F(xiàn)WS表示未壓縮的
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 #總幀數(shù)
header.inspect #信息描述字符串
header=SwfUtil::read_header("c:/test.swf"))
header.signature # 標(biāo)志字符 CWS表示壓縮的swf文件,F(xiàn)WS表示未壓縮的
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 #總幀數(shù)
header.inspect #信息描述字符串
header.inspect一個(gè)示例輸出:
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文件,如果源文件已經(jīng)被壓縮將拋出異常:
require 'swfheader'
SwfUtil::compress_swf("c:/test.swf","c:/test_compressed.swf")
SwfUtil::compress_swf("c:/test.swf","c:/test_compressed.swf")