TITLE:SWF Editor for PHP
CENTER:''SWF Editor for PHP (試作品レベル)''
RIGHT:(c) 2008/03/09- yoya@awm.jp
#contents

* 目的 [#purpose]

- とりあえず画像の入れ替え

* 設計 [#design]

- PHP extension (php 5.1.6 ← CentOS 5 の yum の対応バージョンがそれなので…)
- bit stream 処理は自作 (もしイイのがあったら誰か教えて…)
- CWF (zlib 圧縮) 対応は後回し (でも、後で対応できるように)

** API [#api]

 class SWFEditor {
      function input(string swddata)  return true/false;
      function output()               return string swfdata;
      function getJpegData(integer jpegid)
                                     return string jpegdata;
      function replaceJpegData(integer jpegid, string jpegdata
                                            [,string alphadata])
                                     return true/false;
      function swfInfo()             return ; // print swfInfo
      ---- ここから下は未実装
      function getTagList();
                                     return array(tagid => size, ...)
      function getTagData(integer seqno);
                                     return string tagdata;
      function getJpegAlpha(integer jpegid)
                                     return string alphadata;
 }

** 実装 [#impl]
- なるべく swf_{object|header|tag|...}.c 側に処理を作って、swfed.c はそこへの橋渡しのみ

* 成果物 [#output]

** プログラム [#program]
--  http://diary.awm.jp/~yoya/data/2008/03/31/swfed/

** 日記 [#diary]
--  http://diary.awm.jp/~yoya/?20080331#200803311 | ([http://d.hatena.ne.jp/yoya/20080331 hatena] | [http://mp.i-revo.jp/user.php/wrckyapk/entry/7378.html i-revo mp])

* 資料 [#data]

** 調査 [#study]

- PHP extension の作り方 ([[PHP/ext]])
- [http://diary.awm.jp/~yoya/?2008021&to=200802132#200802132 FlashSWF alpha データ抽出@Yoya's diary]

** 参考 [#ref]
- http://sswf.sourceforge.net/SWFalexref.html
-- http://www.m2osw.com/swf_alexref.html
- http://www.swftools.org/

** 未参考 [#noref]

- SWF::Parser - SWFファイルをパース 
-- http://perldoc.jp/docs/modules/SWF-File-0.20/Parser.pod
- PECL swf
-- http://cvs.php.net/viewvc.cgi/pecl/swf/

* 関連ページ [#rel]

- Flash SWF バイナリ ([[Flash/SWF]])
- PHP extension の作り方 ([[PHP/ext]])

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes