Avatar billede rrm Nybegynder
21. marts 2008 - 17:26 Der er 6 kommentarer og
1 løsning

PNG billeder orginale størrelse

Hejsa

Jeg sidder og rodder med noget kode der skal kunne fortolke et png billede og jeg er nået så lang at jeg skal til at udpakke selve png datene, men er stødt ind i et problem. Hvordan finder jeg ud af et PNG billede orginale størrelse som skal give som parameter til ZLibs uncompress funktion. Har forsøgt at læse dokumentationen, men kunne ikke finde noget svar for dette..

Der kan ved hvordan dette gøres??
Avatar billede arne_v Ekspert
22. marts 2008 - 02:34 #1
zlib uncompress forudsætter at du kender størrelsen.

Du kan enten sætte en værdi der med garanti er stor nok - eller du kan finde værdien
udfra noget header information.
Avatar billede arne_v Ekspert
22. marts 2008 - 02:38 #2
Eller find en stream orienteret funktion til at uncompresse med.
Avatar billede rrm Nybegynder
22. marts 2008 - 10:58 #3
På denne side beskrives hvordan png billeder skal udpakkes http://www.libpng.org/pub/png/spec/1.2/PNG-Compression.html, men jeg kan ikke rigtig finde hvordan orginal størrelsen skal beregnes eller findes i headeren. Det eneste jeg finde er hvad jeg tror er maxstørrelsen for de upakke data på "sliding window of at most 32768 bytes"

Er der nogen der kan gennemskue, hvordan orginal størrelsen beregnes??
Avatar billede arne_v Ekspert
23. marts 2008 - 00:20 #4
højde i pixel * bredde i pixel * antal bits per pixel / 8

lyder som et godt gæt på størrelse i ukomprimeret tilstand
Avatar billede rrm Nybegynder
23. marts 2008 - 15:50 #5
fandt et sted hvor de skrev at width * height * bits per sample * samples per pixel kunne bruge til at beregne de orginale størrelse og jeg har det også fået det til at virke med dette... Pt sidder jeg jeg bøvler med filtrering af dtaene...
Avatar billede rrm Nybegynder
23. januar 2009 - 23:02 #6
Fik lavet en simpel implementering af png formattet. Tak for hjælpen arne_v. Lig et svar for point
Avatar billede arne_v Ekspert
24. januar 2009 - 00:41 #7
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester