swfed v0.15 release (GIF 対応)
以前から要望の多かった GIF 画像入れ替えに対応しました。
- swfed-0.15
GIF 入れ替え
↓ これで入れ替えられます。
replaceGIFData($image_id, $gif_data);
既存の PNG, Jpeg 入れ替えと同じインターフェースです。
- (参考) swfed API
不具合修正
変数未初期化のバグを修正しました。
幸い脆弱性には繋がりません*1が、これが原因で画像入れ替え処理に
失敗する事がありました。 罠を踏んでいる人がいたら、ほんとごめんなさい。
具体的には、失敗すると入れ替えたはずの画像のスペースが真っ赤になります。
Flash Player は画像データを認識できない場合、赤く塗りつぶすので。
画像入れ替えページ
- Flash SWF ファイル解析
png か jpg かをボタンで指定するのが面倒という声を頂いたので、
ボタンを一つにまとめて、画像フォーマットの自動判定を行うようにしました。
function detect_image_ext(&$imagedata) {
$image_sig = substr($imagedata, 0, 0x10);
if (strpos($image_sig, 'JFIF') === 6) {
$ext = '.jpg';
} elseif (strpos($image_sig, 'PNG') === 1) {
$ext = '.png';
} elseif (strpos($image_sig, 'GIF') === 0) {
$ext = '.gif';
} else {
$ext = false;
}
return $ext;
}
間違えてたらごめんなさい。(´Д`;)
*1:と思っていたけど、圧縮する事でサイズが通常とは逆に増えるパターンだと危ないかも… zlib伸張後のフレームオフセットを合わせてとか器用な事って実際できるのかな…