swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息

swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息

ID:9500072

大?。?09.50 KB

頁數(shù):25頁

時(shí)間:2018-05-01

swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息_第1頁
swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息_第2頁
swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息_第3頁
swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息_第4頁
swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息_第5頁
資源描述:

《swf文件結(jié)構(gòu)大解剖 一、swf文件結(jié)構(gòu)和信息》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫

1、SWF文件結(jié)構(gòu)大解剖一、swf文件結(jié)構(gòu)和信息Flash各種實(shí)例剖析我們都看過不少,不過你有沒有想過sX生成的swf文件版本號為6)4文件大小正確的文件大小應(yīng)該是按7、6、5、4的順序來排列得到的十六進(jìn)制數(shù),單位是字節(jié)。5678影片寬高數(shù)據(jù)控制碼(詳細(xì)說明見后)9···影片的寬度與高度數(shù)據(jù)存放區(qū)所占字節(jié)數(shù)由控制碼決定(詳細(xì)說明見后)N1(作用不詳)N2影片放映速度設(shè)計(jì)時(shí)指定的速度,單位是(幀/秒)。N3影片的總幀數(shù)正確的幀數(shù)應(yīng)該是按N4、N3的順序排列得到的十六進(jìn)制數(shù)。N4N5(作用不詳)N6(作用不詳)N7背景色中紅色值N8背景色中綠色值N9背景色

2、中藍(lán)色值···影片數(shù)據(jù)區(qū) 文件的最后四個(gè)字節(jié)為40000000    注:因長寬控制碼所占字節(jié)數(shù)不確定,故其后的偏移量無法用具體數(shù)字來表示,改用N1、N2、N3等符號。  以上表格中所展示的是swf文件的結(jié)構(gòu),通過它你就能很清楚地明白哪部分對你編程有用,哪部分可以解決長期困繞的你的問題,怎么樣?是不是開始偷著樂了?別著急,繼續(xù)看更精彩的還在后面呢!97312348: 前面表中第八個(gè)字節(jié)“影片寬高數(shù)據(jù)控制碼”指的是下表中控制碼一欄中的數(shù)字。第九個(gè)字節(jié)至第N個(gè)字節(jié)“影片的寬度與高度數(shù)據(jù)存放區(qū)”指的是下表中控制碼右邊的那一行數(shù)字。由于控制碼的不同,寬度與

3、高度的數(shù)據(jù)存放區(qū)的字節(jié)長度也不同?! ∠卤碇袑⒖刂拼a所在的字節(jié)分為兩部分(高四位和低四位)。高低位不同的組合決定了數(shù)據(jù)區(qū)占用字節(jié)數(shù)以及不同的高度算法。  相應(yīng)的控制碼后的藍(lán)色條表示數(shù)據(jù)區(qū)所占用的字節(jié)。五星代表有效數(shù)據(jù)(注意每個(gè)五星只占半個(gè)字節(jié)),其中前面幾個(gè)連續(xù)的五星對應(yīng)的數(shù)據(jù)記錄了高度值,后面幾個(gè)連續(xù)的五星對應(yīng)的數(shù)據(jù)記錄了寬度值。  將連續(xù)的五星所在位置的數(shù)(十六進(jìn)制)組合起來,得到四位或六位的十六進(jìn)制數(shù),將此數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),白色五星得到的數(shù)除以10就是影片寬度數(shù)值,紅色五星得到的數(shù)除以40就是影片高度數(shù)值?! ∥覍γ恳环N控制碼都給出一個(gè)具體例

4、子,請對比文件中相應(yīng)的字節(jié)和實(shí)際的寬度和高度值??刂拼a012345678寬×高50★★★★ ★★★★         18×1800B4000B40        58 ★★★★ ★★★★        36×18005A0000B400      60 ★★★★  ★★★★       100×48003E80001E00      68  ★★★★  ★★★★      160×1000019000003E800    70  ★★★★   ★★★★     400×320000FA00000C800    78   ★★★★   ★★★★  

5、  550×40000055F00000FA000  80   ★★★★    ★★★★   1600×12000003E8000002EE00  88  ★★★★★★    ★★★★  2880×28800001C2000000708000  注:由于Flash的圖像尺寸的限制,控制碼只有以上幾種情況,編程時(shí)只需對以上幾種情況進(jìn)行判斷,分別做不同的計(jì)算處理。97312348:  用Flash自帶的播放器可將一個(gè)swf文件轉(zhuǎn)換成一個(gè)可自動(dòng)播放的exe文件,這個(gè)轉(zhuǎn)換過程只不過是在該swf文件前后加上播放器的代碼而達(dá)到的,當(dāng)我們知道了這個(gè)轉(zhuǎn)換原理后,我

6、們就可以實(shí)現(xiàn)由exe向swf轉(zhuǎn)換了。  對由swf文件轉(zhuǎn)換成的exe文件進(jìn)行分析后,我發(fā)現(xiàn)Flash自帶的播放器只是對swf文件做了如下幾步修改:  1、在一個(gè)swf文件前加上exe文件頭,共5BFFF字節(jié);  2、接下來是完整的swf文件內(nèi)容;  3、再接下來四個(gè)字節(jié)是exe文件的結(jié)束標(biāo)志;  4、最后是記錄swf文件大小的四個(gè)字節(jié)?! ⒁粋€(gè)Flash影片的exe文件轉(zhuǎn)換成swf文件,我們只需把swf文件轉(zhuǎn)換成的exe文件的過程反著做一下就可以了,也就是將上述1、3、4步驟加上的東西刪除掉就可以了?! ≡斠娤卤恚骸屏孔止?jié)內(nèi)容備注 04D5A

7、90···0000exe文件頭···5BFFF 5C00046(或43)swf文件頭5C001575C002535C003(可能為05、04、03、02、01)swf文件版本號 5C004記錄swf文件大小的四個(gè)字節(jié) 5C0055C0065C007 ···swf文件內(nèi)容  40swf文件的結(jié)束標(biāo)志 00 00 00  56exe文件的結(jié)束標(biāo)志 34 12 FA  記錄swf文件大小的四個(gè)字節(jié)與5C004~5C007的內(nèi)容相同    到這里我們對swf文件的解剖分析就結(jié)束了,你可以結(jié)合著Flash控件動(dòng)手制作一個(gè)你自己的flash播放器,一定會(huì)很棒!

8、97312348:[感謝閱讀這篇文章,..,]

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。