Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: bitmaster am 05. June 2006, 15:26
-
Hi,
ich habe vor eine Unterstützung für erstmal ein Bildformat in meinem OS einzubauen. BMP ist zwar sehr einfach, aber verbraucht sehr viel Speicher. Wenn ich z.B. ein Hintergrundbild für meiner GUI in der größe 800*600 haben will, wäre das Bild 800*600*4 / 1024^2 = 1,8 MByte groß. Also zu groß für eine Diskette. Dann wollte ich das JPG Format nehmen. Ist ja wesentlich kleiner. Aber ich sah das es ziemlich die Qualität verlustet. Dann bin ich auf PNG gestosen und dachte das ist die Lösung. Kaum Qualitätsverluste und schön klein. Nur finde ich keine Brauchbaren Informationen bzw. genauere Informationen. Wikipedia spuckt ja nicht viel aus. Habt ihr vielleicht Infos zum PNG Format?
Danke!!!
bitmaster
-
kurzes googlen ergab das rfc 2803 dir helfen wird ^^ http://www.faqs.org/rfcs/rfc2083.html
-
Hi,
auf wotsit.org (http://www.wotsit.org/search.asp?page=7&s=graphics) gibts auch noch ein paar Infos. Ich glaube der erste Link da ist das gleiche wie das von N00B.
-
ne, da der erste link ist libpng.org ^^ aber thx, ich kam nicht mehr auf wotsit, da wollt ich auch erst nachschauen
-
Hi
Meines wissens setzt png auf einen zip alg zur kompremierung der daten. (zlib) wurde seinerzeit mal vom W3C definiert.
Hast du dir mal gif angeschaut? hat aber leider nur 256 farben. Hat aber gegenüber bmp in gleicher farbtiefe den vorteil einer kompression, die nicht ganz so kompliziert ist wie png.
http://www.w3.org/TR/PNG/
gruss
-
Verschoben.
(OS Design hat nichts mit Implementation oder Integration von Bildformaten zu tun. :P)
-
Hallo,
du könntest einfach deine Bitmaps komprimieren und wie durch eine "Pipe" zum dekomprimieren jagen. Dir geht es ja um den Diskettenspeicher, im RAM musst du eh die dekomprimierte Variante haben.
Gruß,
Svenska
-
aber warum was einfaches wie bitmaps nehmen wenn man auch gleich was schönes wirksames wie png implementieren kann? find ich persönlich gut die entscheidung *png-fan*
-
Unterschätzt auf keinen Fall den Aufwand einer vernünftigen Implementierung! Die Kompression und die verschiedenen Typen sind auf jeden Fall nicht ohne!
Meiner Meinung nach ist es am Sinnvollsten, die libpng für alles zu verwenden.
-
Hi,
danke für die vielen Antworten. Die PNG Unterstützung wollte ich schon gerne haben (brauche ich ja früher oder später sowieso). Ja, es ist richtig das die implementierung nicht so einfach ist, aber ich werde es versuchen. ^^
bitmaster
-
Wenn du in irgendeiner Form Bitmaps lesen können möchtest, musst du das Format ohnehin implementieren. Ein on-the-fly Konverter von PNG nach BMP ist wahrscheinlich einfacher zu implementieren und auch zu testen (was auch wichtig ist).
Gruß,
Svenska
-
Offtopic: Bitmaster wenn dus dann geschafft hast, wäre doch wieder mal ein perfektes Tutorial-Thema gefunden??? Nicht......