swfed 0.24 リリース (bitmap shape タグ検索機能)
bitmap shape タグ検索機能がメインのリリースです。
bitmap shape タグ検索
0.23 の setShapeAdjustMode を使うと、画像を入れ替える際に枠に合わせてよしなに調節しますが、画像を参照する Shape タグを SWF 中から検索するので原理的に重たいです。
一方、0.22 から機能する applyShapeRectFactor applyShapeMatrixFactor は処理は軽めですが、shape_id と変換するサイズの比率を指定するメソッドで、
image_id を調べるだけでも面倒なのに、shape_id も調べなきゃとか。変換前の画像サイズを覚えるとかやってらんない。
という状況が予想されるので、以下のメソッドを用意しました。
- getShapeIdListByBitmapRef($image_id) : image_id を指す Shapeタグid一覧取得
- getBitmapSize($image_id) : image_id に対応する画像の縦横サイズを得る
$image_id は仕方なく SWF を dump して調べて貰うとして、
入れ替え後画像のサイズを $newSize で渡せば、
$oldSize= $swfed->getBitmapSize($image_id); $scale_x = $oldSize['width'] / $newSize['width']; // 逆数 $scale_y = $oldSize['height'] / $newSize['height']; // 逆数 $shape_id_list = $swfed->getShapeIdListByBitmapRef($image_id); foreach ($shape_id_list as $shape_id) { $swfed->applyShapeMatrixFactor($shape_id, $scale_x, $scale_y, 0, 0, 0); }
のように出来て、かつ、$shape_id_list を何らかの方法(memcache とか)で cache すれば、
重たい所も対処できるはず。という目的で用意しました。
version
php -i で swfed の version が分かるようにしました。
% php -i | grep -i swf /etc/php.d/swfed.ini swfed SWF Editor support => enabled SWF Editor version => 0.24 SWF Editor PNG support => yes SWF Editor GIF support => yes PWD => /home/yoya/svn/swfed/trunk/src _SERVER["PWD"] => /home/yoya/svn/swfed/trunk/src _ENV["PWD"] => /home/yoya/svn/swfed/trunk/src
今までなくて、ほんと済みません。