2017-01-16 64 views

回答

5

我認爲這是你在找什麼:http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp

字節6-7(從零開始的索引)代表寬度和字節8-9表示高度。在這種情況下:

var source:ByteArray; 
var aHeight:int; 
var aWidth:int; 

source.position = 6; 

aWidth = source.readUnsignedByte(); 
aWidth += source.readUnsignedByte() << 8; 

aHeight = source.readUnsignedByte(); 
aHeight += source.readUnsignedByte() << 8; 

或可選擇地只使用readShort爲無位移<< ...

aWidth = source.readShort(); 
aHeight = source.readShort(); 
+0

當然應該先實際驗證獲得兩個字節值(16位)如果字節0的簽名是GIF,或者返回錯誤。 – Vesper

+1

@Vesper,好點,但...頭可能是正確的,但其餘的數據損壞。唯一能夠100%確定的方法是實際使用Loader.loadBytes(source),然後我們可以讀取(Loader.content as Bitmap).width和.height,這可能會殺死OP的整個點。 – Organis

+0

@ 1.21千兆瓦,謝謝,我忘了未簽名,傻了我。 – Organis