莊周夢(mèng)蝶

          生活、程序、未來(lái)
             :: 首頁(yè) ::  ::  :: 聚合  :: 管理
          update:俺確實(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ò)
          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.inspect一個(gè)示例輸出:
          signature:   CWS
          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")

          3、壓縮swf文件,如果源文件已經(jīng)被壓縮將拋出異常:
          require 'swfheader'
          SwfUtil::compress_swf(
          "c:/test.swf","c:/test_compressed.swf")


          主站蜘蛛池模板: 交口县| 林口县| 错那县| 甘南县| 鄂尔多斯市| 黄浦区| 辽阳市| 霍州市| 秦安县| 蓝田县| 靖宇县| 长子县| 京山县| 岳阳县| 仁化县| 湛江市| 玉环县| 措美县| 视频| 安阳市| 镇平县| 拉孜县| 江油市| 固始县| 绵竹市| 炎陵县| 响水县| 延寿县| 沅陵县| 武宁县| 自治县| 含山县| 恩平市| 安达市| 饶平县| 陈巴尔虎旗| 海淀区| 乌兰察布市| 昭平县| 海口市| 芒康县|