Nevíte jak probíhá vývoj formátu souborů...např. pro uchování textu nebo grafiky?
Fórum › Offtopic
Vývoj formátu souborů
No zober si napriklad grafiku.. respekltive obrazok. CO vsetko potrebujes na to aby si vedel vykreslit obrazok? No poznat RGB popripade RGBA hodnoty od (0 do 255) kazdeho pixelu. Takze pixel mas reprezentovany napriklad struktuou:
typedef char byte;
typedef struct {
byte red;
byte green;
byte blue;
byte alpha;
} pixel_t;
No lenze takto struktura je nostitelom informacii len pre jeden pixel a vecsinou obrakzy maju mnoho pixelov.Takze budeme potrebovat pole pixelov.Taktiez potrebujeme vediet dperdu aj velkost pola, cize velkost obrazku.S toho nam vznikne nasledujucia struktura:
typedef struct {
char[3] ident;
unsigned int size_x;
unsigned int size_y;
pixel_t* pixels;
} image_t;
Takze s toho sme uz mudrejsi. Takze teraz uz vlastne mame format suboru. TO uz len musime zapisat do suboru.Dobre je davat ako prvy x-bajtov nejaky identifikator.Na to sluzi v tej strukture to ident. nasom pripade pojde o 'IMG'. No a co dalej? No teraz si vytvorime subor. Najprv do suboru zapiseme ident, potom size_x, size_y a nakoniec obsah pola pixels.Nacitanie suboru je tiez potom jednoduche. Najprv si nacitame prve 3 bajty. Skontroljeme ci ide o 'IMG'.. ak ano tak pokracujeme dalej. Nacitame dalsie 4 bajty(32 bitovy unisgned int, pozor na little a big endian) ktore budu predstavvovat nase size_x, dalsie 4 bajty saze size_y.Teraz si s tychtio hodnot vypocitame kolko pixelov dalej v subore nasleduje size_x*size_y a cez nejaku slucku nacitavame postupne pixel za pixelom..
Je to strasne jednoducho vysvetlene.Samozrejme image formaty su rozne komprimovane, obsahuju dalsie informacie.Takato struktura je fakt velmi jednoducha a ked si prevedies nejaky obrazok velky 1024x768 pxelov tak zistis ze vysledny subor je aj pekne velky ale to su uz advanced techniky ktore ta zatial nemusia zaujimat..
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 7 hostů
Podobná vlákna
Změna formátu výsledného souboru — založil Yohaku
Počet souborů konkrétního formátu ve složce — založil Tomáš Lipovský
Tvorba formátů. — založil Felen
Převod do pdf formátu — založil Pebble
Export do obj.formátu — založil Franta
Moderátoři diskuze