用C#封裝SWF檔案格式

來源:互聯網
上載者:User

    想必有些朋友看過一些網路雜誌網站提供的雜誌製作軟體,那些軟體可以與Flash互動然後產生Flash的網路雜誌或者相簿。
    我不懂他們怎麼做到的,Flash的擴充API不知道有沒有提供儲存Flash檔案中某個MovieClip對象的介面。。。我東看西看好像也沒看到,於是我就研究起Flash檔案格式來了。
    看到網上有一些SWF檔案產生或者轉換的開源項目,大多都是C++和Java的,唯一看到一個C#的是在另外一個SWF 的C++類庫基礎上做的,並且使用的是Mono的C#開發。
    於是我就想自己封裝一個.NET版的SWF類庫,這個類庫提供產生SWF檔案和解析SWF檔案的功能。比如在ASP.NET頁面上就可以動態產生Flash檔案了,又或者可以使用這個類庫自己作一個Flash雜誌製作軟體,嘿嘿,想得好像美美的。
    看看最新的Flash8的檔案格式文檔,裡面羅列了一大堆結構體,資料類型,標籤聲明等等。我這星期把它們都提取出來分到不同類檔案裡,發現總共100多個檔案,看了我是頭暈眼花,當我做完SWF檔案頭的封裝後都不知道該繼續封裝哪些東西了。
    後來看了Script SWF (一個開源的C++項目,它可以通過腳步建立SWF檔案)中的SWF檔案格式介紹後來了點靈感,我決定根據SWF檔案的發展曆史來封裝我的類庫,從1.0版本的SWF檔案開始一直封裝到最新版。

    項目第一期需要封裝的tag有:
       FileHeader,End,ShowFrame,DefineShape,FreeCharacter,PlaceObject,RemoveObject,DefineBits
       DefineButton,JPEGTables,SetBackgroundColor。DefineFont,DefineText ,DoAction,DefineFontInfo
    第一期需要封裝的基礎結構有:
       Rect,Tag,Morph_Shape_With_Style,Shape_With_Style,Styles,Shape_Record
       Styles_Count,Matrix,Color_Transform,Button,swf_action,Rgb,Shape,Text_Record
    註:上面的命名在實現是可能會有所改變

   我最近公司項目比較趕所以業餘時間不多,一個人做可能要花很長時間。 我希望對這個類庫有興趣的朋友不妨和我聯絡,可以考慮組一個開源項目團隊,大家分工協作完成這個類庫的封裝。

    附錄:Alexis' SWF Reference

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.