Daten komprimieren

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Lunatix

Betreff: Daten komprimieren

BeitragDo, Jul 07, 2005 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo. Ich wollt mal wissen wie so ein zip/rar programm die daten quetscht. Meine überlegung wäre ja :

eine bmp wird gelesen und das was an information anfällt als textdatei speichern und hinterher weider eine bmp aus den daten schreiben. get das? geht das mit BB?
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Xaron

BeitragDo, Jul 07, 2005 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Sicher geht das. Dein Textfile wird halt größer als die BMP. Nur wozu?

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

Lunatix

BeitragDo, Jul 07, 2005 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
warum grösser? text braucht doch net viel, paar KB mehr net.
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Alfadur

BeitragDo, Jul 07, 2005 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ein byte bleibt aber nunmal ein byte. ob das nun als farbinformation dargestellt wird oder als text.
A Cray is the only computer that runs an endless loop in less than four hours.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Jul 07, 2005 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Beispiel:
20 * rot , 30*weiss 10*schwarz usw.
wäre schon eine Möglichkeit!
[BB2D | BB3D | BB+]
 

hitokiri

BeitragDo, Jul 07, 2005 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
RLE encoding ist aber kacke, das funktioniert nur bei niedriger farbtiefe und wenig abwechselnden farben, ansonsten bläht das gehörig auf.
Winzip/winrar arbeiten alle mit einem modifizierten lzw-algorithmus, schau einfach mal bei wikipedia unter kompression.
dort gibts ausführliches über LZW, LZ 79 und Huffmann
 

E. Urbach

ehemals "Basicprogger"

BeitragDo, Jul 07, 2005 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab sowas schon mal gemacht. Source Code hab ich leider net dabei.

Bei Bildern z.B.:

Selfmade:
Jede Farbinformation wird gesucht und zu diesen nur die Position gespeichert.
Das spart bei einigen Bilder 'ne Menge!

Fotos:
Abstufungen und Differenzlogiken errechnen. Ist 'n bisschen Fachchinesisch aber irgendwie geht das schon.

Allgemein für Daten ginge auch dieses Positions-Speichern für Werte 0-255 (bzw. Unicode 0 - ca. 65000).
Aber das ist wohl nur 'ne Ausweichmöglichkeit.

Wie die das mit zip/rar machen, da hab ich keine Ahnung, aber
auf www.wotsit.org gibts 'ne Menge Dateieninfos.

Du kannst bei BMP übrigens auch den "Header" entfernen. Dann sparst du glaub ich ca. 5 Byte Very Happy.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

David

BeitragDo, Jul 07, 2005 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Er spart dadurch 54 Byte. Allerdings gehen wichtige Infos verloren...

grüße
  • Zuletzt bearbeitet von David am Fr, Jul 08, 2005 14:03, insgesamt einmal bearbeitet

Lunatix

BeitragFr, Jul 08, 2005 8:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ich wollt ja ein eigenes Setup erstellen.
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Xaron

BeitragFr, Jul 08, 2005 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Alfadur hat Folgendes geschrieben:
ein byte bleibt aber nunmal ein byte. ob das nun als farbinformation dargestellt wird oder als text.


Falsch. Denn dann ist ja kein lesbarer Text mehr, sondern ein Binärfile.
Ich dachte halt, er will es als (notepad-) lesbares File haben.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

Alfadur

BeitragFr, Jul 08, 2005 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn ich jetzt eine textdatei öffne, dort ein "aaa" reinschreibe, dann ist diese textdatei 3 byte groß.
wenn ich jetzt ne bmp datei nehme und dort für einen pixel die werte für rgb (0-255) hinschreibe, dann sind da am ende auch 3 byte drin ...
ist im endeffekt ja eh alles dasselbe, kommt nur darauf an wie man es interpretiert ...
ps: ich hab garkeine ahnung davon wie er das mit dem umwandeln gemeint hat ... .-)
A Cray is the only computer that runs an endless loop in less than four hours.
 

David

BeitragFr, Jul 08, 2005 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Alfadur hat Folgendes geschrieben:
wenn ich jetzt eine textdatei öffne, dort ein "aaa" reinschreibe, dann ist diese textdatei 3 byte groß.
wenn ich jetzt ne bmp datei nehme und dort für einen pixel die werte für rgb (0-255) hinschreibe, dann sind da am ende auch 3 byte drin ...
ist im endeffekt ja eh alles dasselbe, kommt nur darauf an wie man es interpretiert ...
ps: ich hab garkeine ahnung davon wie er das mit dem umwandeln gemeint hat ... .-)


Falsch. In der Bitmap stehen noch 54 Byte Kopfdaten. Also kommst du nicht auf 3 Byte sondern auf 58 Byte. Bei einer 4x4 Pixel großen Bitmap sinds dann schon wieder 70 Byte, nicht 12...

grüße

Alfadur

BeitragFr, Jul 08, 2005 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
der header ist doch vollkommen schnuppe, worauf ich hinauswollte war das es egal ist ob man jetzt nen text hat oder irgendwelche farbinformationen ... es ging ihm sicher nicht darum die 55byte header einzusparen ... so wie ich es verstanden habe, wollte er das bmp lesen und jedes byte was er findet in text umwandeln. am ende hätte er als byte in byte umgewandelt und es wäre garnix passiert. das ist es worauf ich hinauswollte...
A Cray is the only computer that runs an endless loop in less than four hours.

Xaron

BeitragFr, Jul 08, 2005 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Alfadur hat Folgendes geschrieben:
wenn ich jetzt eine textdatei öffne, dort ein "aaa" reinschreibe, dann ist diese textdatei 3 byte groß.
wenn ich jetzt ne bmp datei nehme und dort für einen pixel die werte für rgb (0-255) hinschreibe, dann sind da am ende auch 3 byte drin ...


Das schon, aber dann ist es keine Text-Datei mehr. Dann kann ich auch gleich die .bmp in eine .txt umbenennen. Wink Denn ich habe ja gar keine darstellbaren 256 ASCII-Zeichen, sondern nur 26 Kleinbuchstaben, 26 Großbuchstaben, die Zahlen, ein paar Sonderzeichen und dann die ganzen Steuercodes (Line feed usw...) Aber wie stellst Du z.B. den ASCII-Code "0" als Text dar? Der ASCII-Wertebereich ist einfach kleiner, immer vorausgesetzt, es soll sich um eine echte Text-Datei handeln, die auch im Editor darstellbar und editierbar ist.

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

Lunatix

BeitragSa, Jul 16, 2005 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das mit ReadPixelFast mal probiert. Da sind dann halt Farbinfos gespeichert, die dann ausgelesen und gezeichnet werden.
ist ein bissl grösser als ne bmp, 16*16 (bmp)=1.2 KB, 16+16(rpf)=1.7KB
ist ein 3d ball
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

lathrop

BeitragSa, Jul 23, 2005 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ANONYMOUS PROXY LIST: http://www.checkproxy.net

EPS

BeitragSo, Jul 24, 2005 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
wen's interessiert, ich hatte vor langer Zeit zu diesem Thema mal ein Tut für QuickBasic geschrieben. Die Prinzipien lassen sich aber natürlich auch nach BB übertragen:

klick mich
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group