These pages are written by only Japanese.
|
Namazu for hns による簡易全文検索です。 詳細は 詳細指定/ヘルプをご参照下さい。 |
||||||||||||||||||||||||||||||||||||||||||||||||||
cvs -d:pserver:anonymous@giflib.cvs.sourceforge.net:/cvsroot/giflib login cvs -z3 -d:pserver:anonymous@giflib.cvs.sourceforge.net:/cvsroot/giflib co -P giflibutil 以下のがサンプルコード代わりっぽいんですよね。
% svn checkout http://svn.sourceforge.jp/svnroot/swfed/ % cd swfed/src % phpize % ./configure % make % su Password: # cp modules/swfed.so <php extension dir>/.
function createUniqID() { srand( (double)microtime()*1000000 ); <略>それは勘弁して… ・゜・(ノД`)・゜・
1,000,000 * | (f1(sec xor ~usec) - f2(thread_id or pid ))*A | xor unixtime * pid MODMULT の処理が複雑なので f1, f2 でごまかし。^^;の値を seed にしていて、下手な seed を渡すより、 これに任せた方がずっと良いです。 (pid と時刻の値を混ぜるのは、結構定石)
srand( (double)microtime()*1000000 );というのは、よく使われていたようです。
Just using microtime() * 1000000 only results in 1000000 possible seeds (and less on some platforms as noted)まだまだ、Web 上ではこの古いサンプルが目立つので 同じ間違いが色んな場所で繰り返されるんでしょうね。
$obj = new SWFEditor(); $obj->input($swfdata); echo $obj->getPNGData($image_id);
% php swfdump.phps game.swf # format 5 の画像を探す <略> [91] tag=DefineBitsLossless2(36) length=58282 image_id=72 format=5 width=155 height=156 argb bitmap exists <略> % php swfgetpngdata.phps game.swf 72 > test.png透明度付きで吸い出せてます。(^o^)/
color_palette=(png_colorp)NewPtr(sizeof(png_color)*num_palette); ctable=(*savePix)->pmTable; HLock((Handle)ctable); for (i=0; i<num_palette; i++) { color_palette[i].red=((*ctable)->ctTable[i].rgb.red)>>8; color_palette[i].green=((*ctable)->ctTable[i].rgb.green)>>8; color_palette[i].blue=((*ctable)->ctTable[i].rgb.blue)>>8; } png_set_PLTE(write_ptr,write_info_ptr,color_palette,num_palette);なるほど… パレットはこうして設定しつつ、 データ本体は
image_rows = malloc( image_height * sizeof( BYTE *) ); for( i = 0; i < image_height; i++ ) { dest = image_rows[ i ] = malloc( bmp_line_byts ); src = &bmp_data[ (image_height - 1 - i) * bmp_line_byts ]; for( j = 0; j < bmp_line_byts; j++ ) { *dest++ = *src++; } } png_write_image( png_ptr, image_rows);1 pixel 1 byte の生データを放り込むと。
% php swfdump.phps game.swf # format=3 の画像を探す <略> [44] tag=DefineBitsLossless2(36) length=134 image_id=34 format=3 width=62 height=18 colormap_count=16 rgba colormap exists indices exists <略> % php swfgetpngdata.phps game.swf 34 > test2.pngパレット対応成功。(^o^)/
php-4.0.0% ./php <?php var_dump(microtime()); X-Powered-By: PHP/4.0.0 Content-type: text/html string(21) "0.28143600 1218182721"これが知りたかっただけです。^^;
% php swfdump.phps game.swf <略> [4] tag=DefineSound(14) length=2505 sound_id=1 format=2(MP3) rate=1 is_16bits=1 is_stereo=0 samples_count=11019 sound_data(length=2498) [5] tag=DefineSound(14) length=2505 sound_id=2 format=2(MP3) rate=1 is_16bits=1 is_stereo=0 samples_count=11019 sound_data(length=2498) [6] tag=DefineSound(14) length=2505 sound_id=3 format=2(MP3) rate=1 is_16bits=1 is_stereo=0 samples_count=11019 sound_data(length=2498) [7] tag=DefineSound(14) length=2505 sound_id=4 format=2(MP3) rate=1 is_16bits=1 is_stereo=0 samples_count=11019 sound_data(length=2498) <略>とりあえず、swfInfo での詳細表示は成功。
DefineSound の parse/build 処理を実装しました。 swfInfo の詳細表示に DefineSound を追加しています。
活発なプロジェクト 1 (100.00) SWF Editor for PHP 2 (99.39) blanco Framework 3 (98.77) mod_chxj <略>タスクとか真面目に使いつつ、コードをコマ目に commit し続けたら上位にw