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:

Kapcsolódó cikkek