Minél nagyobb a kép, annal nagyobb helyet foglal el, ha minden egyes képpont színét külön-külön tároljuk. Érdemes ilyenkor különböző tömörítő algoritmusokat használni, hogy helytakarékosabb megoldásokhoz jussunk!
Kapunk egy tömörített képet, a feladatunk az, hogy rajzoljuk ki az eredeti képet! A tömörítést a következő módon készítették el: megvizsgálták, hogy a kép azonos színekből áll-e, mert ha igen elég ezt a színt tárolni. Ilyenkor a kódban egy 0 értéket és a szín kódját helyezték el. Ha nem azonos, akkor négy egyenlő részre bontották a képet és újra megvizsgálták az így kapott részeket, hogy azonos színű pontokból állnak-e vagy tovább kell azokat bontani. (Addig bontották tovább, amíg azonos színekből álló négyzetes képet nem kaptak.) A kép négy részét sorszámozták 1-től 4-ig (1 – bal felső, 2 – jobb felső, 3 – bal alsó, 4 – jobb alsó). Azt, hogy melyik képdarabról van szó, azzal írták le, hogy milyen sorszámú négyzetek darabolásával jutottak el hozzá. Például a 32 azt jelenti, hogy az eredeti kép 3-as számú (jobb alsó) darabjának 2-es számú darabjáról (jobb felső) van szó!
Készítsd el a kirajzoló :tömörítettkép eljárást, ahol a :tömörítettkép a listában tárolt kódokat jelenti! A p – piros, k – kék, s- sárga és z – zöld szín megfelelője.
| |
| |
|