Format Leírás tga
Leírás A formátum a tárolt adatok
Megjegyezzük, hogy az általunk használt itt egy előjel nélküli változó - ez azért fontos, mert tárolt érték BlockInfo nagyobb lehet, mint 128 - maximális értékét típusú változó KAR.
Ha szeretné megtudni, hogy milyen információ van, akkor ellenőrizni kell a helyzetét az első bit a változó BlockInfo
Miért 128? Nézzük meg a bináris kód
Mint látható, az elején az egységnyi költségek és lépés „és a” bármely átfedésmentes egység, és az egységet egy egység egység,
így ha BlockInfo feltétel volt, például a
A műtét után, és változóan WhatItIs van, hogy
Azaz, egyértelmű, hogy mi lesz az állam az első bit
És ha BlockInfo egyenlő
Ez lenne a műtét után, és a változó WhatItIs
Azaz, az első bit nem 1 és 0 :))
Nos, nézzük tovább.
Ezután keressük meg a feltétel megvan az első bit, akkor megtudjuk, milyen adatokat adják meg:
Ha az állam az első bit edinitse- azt csomagkapcsolt adatátviteli
Ha az állam az első bit nulla - ez kicsomagolt adat
példa:
Az első blokkban zárójelben csomagolt adatokat a második blokk zárójelben kibontotta.
Eddig már foglalkozott csak az első bit és egy byte 8, de mivel Egy már használatban van, mi csak 7. Mit csinál velük? És mit csinálnak, és hogyan lehet felismerni, hogy az állami egyszerre?
A maradék 7 bit a tárolt száma pixel 1, hogy jön elolvasása után egy bájtos változó. További magyarázatot.
Ahhoz, hogy megtudja, mi több van tárolva a 7 bites mi minden, amit tettünk az elején, hanem
ez a szám 127 tízes számrendszerben E. Tehát, hogy megtudja, a képpontok számát meg kell tennie a következőket:
NumPixels = BlockInfo 127
Most már tudjuk, hogy milyen adataink vannak tárolva, és hogyan kell kezelni, nézd, mi történt:
Kezdjük megvitatása csomagolt adatokat és tömörítetlen.
Miután az első bájt egy egyetlen pixel, és akkor meg kell tudni, hogy hány bit per pixel
Ha van egy pixel 24 bites, akkor kell olvasni 3 bájt (24/8 = 3), és ha a 32 bit a 4 bájt
Miután elolvasta a 24 vagy 32 bit kell csak beruházni a tömbben vett képpontok pixel az azonos, hogy sokan írva a változó NumPixels
Lehet kérdezni, hogy miért van hozzá egy a változó - ez történik, mert megtagadták a képpontok számát, azt az értéket, amit kap mindig eggyel kevesebb, ez megtörtént annak a ténynek köszönhető, hogy már csak 7 bit lenne 8 nem lett volna hozzá, semmit.
2. kicsomagolt adat
Amikor kicsomagolt adat van tárolva, minden egyes pixel szekvenciálisan, azaz, ha a változó NumPixels lenne értéke 20, akkor azt el kell olvasni 20 pixel. Azaz, csak olvassa el az információkat a pixel és minden.
Mint látható, minden nagyon egyszerű.
Itt a teljes példa: