Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: bitmaster am 06. August 2006, 18:38

Titel: PNG und die komprimierten Daten!!!
Beitrag von: bitmaster am 06. August 2006, 18:38
Hi,

ich bin z.Z. dabei PNG-Unterstützung in meinem OS einzubauen. Also das mit den Blöcks IHDR, IDAT, IEND etc. ist ja nicht schwer zu verstehen. Aber im IDAT-Block sind ja die komprimierten Pixel Daten. Die sind deflate komprimiert. Aber jetzt weiß ich nicht wie ich sie dekomprimieren soll. Bei google, msn suche, live.de etc. habe ich nichts brauchbares zum deflate gefunden wie es aufgebaut ist etc. Habt ihr da 'ne Ahnung? danke!!!

bitmaster

PS: Die sind in meinem Falle wirklich nur komprimiert ohne Filterung etc. Ich brauche sie also nur zu dekomprimieren. Die Frage ist aber: Wie?
Titel: PNG und die komprimierten Daten!!!
Beitrag von: bluecode am 06. August 2006, 18:58
RFC 1951 - DEFLATE Compressed Data Format Specification version 1.3 (http://www.w3.org/Graphics/PNG/RFC-1951)
evtl. auch mal den Sourcecode von zlib durchstöbern oder einfach gleich zlib benutzen :wink:
Titel: PNG und die komprimierten Daten!!!
Beitrag von: thetrue am 06. August 2006, 19:05
RFC 1951 - DEFLATE Compressed Data Format Specification version 1.3
steht übrigens unter WIki ..
http://de.wikipedia.org/wiki/Deflate
Titel: PNG und die komprimierten Daten!!!
Beitrag von: Legend am 06. August 2006, 20:18
Nimm die Zlib, die kann das entpacken, stört lizenttechnisch glaub ich nie und dürfte auch nicht unbedingt Abhängigkeiten oder sowas (macht ja eigentlich nur Mathe) haben.
Titel: PNG und die komprimierten Daten!!!
Beitrag von: bluecode am 06. August 2006, 20:23
Hat garkeine Abhängigkeiten und die lizenz (http://www.zlib.net/zlib_license.html) macht nun wirklich garkeine Probleme.
Titel: PNG und die komprimierten Daten!!!
Beitrag von: C#ris am 07. August 2006, 19:17
Und warum nicht gleich die libpng?
Titel: PNG und die komprimierten Daten!!!
Beitrag von: Legend am 08. August 2006, 00:05
Wenn die genauso zu handhaben ist bei Lizenz und Abhängigkeit, stimmt, gute Frage. ^^

Wobei ich persönlich die API der libpng grausam finde.