Komprimier Algo

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Max.
Beiträge: 58
Registriert: 29.08.2004 13:19

Beitrag von Max. »

Benubi hat geschrieben:Blafasl
Sorry, bei Deiner Anspruchshaltung ist es mir unmöglich, dieser gerecht zu werden. Spezifische Kritik ist ok, aber Rundumschläge lassen meine Motivation gewaltig sinken.
AMD XP 2400+ · 1 GB RAM · Radeon 9800 Pro · Win XP SP1 · IE 6.0
Benubi
Beiträge: 186
Registriert: 22.10.2004 17:51
Wohnort: Berlin, Wedding

Beitrag von Benubi »

sorry max,

ich gebe zu dass ich derzeit geistig nicht voll auf der höhe bin :freak:
wird sich wieder ändern...
lass dich bloß nicht durch mich entmutigen - das wäre doch eine schlechte ausrede ! :wink:

mfG
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Oh, oh! Bist du dir im klaren darüber, dass die Image()-Befehle sowie Plot() und Point() abhängig davon sind, welchen Grafikmodus du gerade eingestellt hast???

Wenn ich mein Windows nur mit 16-Bit Farben betreibe, gehen mit Sicherheit Informationen durch deinen Code verloren, da du dann nicht mit Point() die exakte Farbe ermitteln kannst.

Ich hätte es auch gerne, wenn mir Point() die tatsächliche Farbe des geladenen Bildes zurückgibt, leider tut es das in PureBasic nicht. Es gibt die Farbe zurück, die im entsprechenden Grafikmodus angezeigt werden würde. Und nicht mal die wird im 16-Bit-Modus richtig berechnet (Es gab bereits mehrere Threads von verschiedenen Leuten, so auch ich, die in der Berechnung der Farbwerte im 16-Bit-Modus in PB einen Fehler zu wissen glauben, leider bisher ohne Bestätigung)
Zuletzt geändert von Lebostein am 02.11.2004 13:38, insgesamt 1-mal geändert.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Ich frag mich auch, warum er nicht selber die Bitmaps schreibt, ist ja alles andere als ein schwieriges Format und er könnte zusätzlich noch die unnötigen Headerinformationen weglassen.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1754
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Lebostein hat geschrieben:Ich hätte es auch gerne, wenn mir Point() die tatsächliche Farbe des geladenen Bildes zurückgibt, leider tut es das in PureBasic nicht. Es gibt die Farbe zurück, die im entsprechenden Grafikmodus angezeigt werden würde. Und nicht mal die wird im 16-Bit-Modus richtig berechnet (Es gab bereits mehrere Threads von verschiedenen Leuten, so auch ich, die in der Berechnung der Farbwerte im 16-Bit-Modus in PB einen Fehler zu wissen glauben, leider bisher ohne Bestätigung)
Der sinnvollste Weg zur Besserung wäre ein aussagekräftiger Bug-Report, der kurz erklärt und an Beispielen nachvollziehbar macht, was in PB falsch läuft. :allright:

"Zu wissen glauben...." kann ich schlecht an Fred weitergeben. :twisted:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

theoretisch brauch ich die BMP eigentlich garnicht mal :| :freak:. Wie ich herausgefunden habe liegt der trick so ziehmlich dadrin, das der byte 3x in der BMP datei vorkommt.

Ich habe mal (siehe irgendwo oben) mal ein test gemacht wo ich getestet habe, wie es sich auf den komprimiervorgang auswirkt, wenn ich 3 bytes lade und daraus ne 24-bit farbe generiere. Das Ergebniss war, dass sich die komprimierung kein bisschen verbessert oder verschlechtert hat.
Bild
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Yep, genau das wollt ich dir noch vorschlagen, die BMP-Datei nicht als Image zu laden sondern so wie sie ist den den Speicher zu krachen.
Dort kannst du dann die 3 Bytes pro Pixel unverfälscht auslesen. Wie eine Bitmapa ufgebaut ist, kann man ja überall nachlesen.
Antworten