swfed Lossless 画像入れ替え

何となくできました。
ただし、8bit RGBでαチャネル無しのみ対応です。

実行結果

まず入れ替えたい画像を探します。

% php  swfdump.phps 5791.swf
	<略>
[12397] tag=DefineBitsLossless2(36)  length=9938
        image_id=1136  format=5  width=160  height=160
        argb bitmap exists

image_id 1136 の画像を見つけたので、それを入れ替えてみます。

% php  swfreplacepngdata.phps 5791.swf 1136 cyan_3x3.PNG   > tmp.swf

さて、dump して確認。

% php  swfdump.phps 5791.swf
	<略>
[12397] tag=DefineBitsLossless(20)  length=22
        image_id=1136  format=5  width=3  height=3
        xrgb bitmap exists

入れ替わりました… ( ̄― ̄)

後でαチャネル処理も実装しようっと。

メモリチェック

少なくとも正常系では free 忘れはないようです。
さすが自分。(*'ω'*)