Komprimier Algo
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
Schau Dir das mal an:LittleFurz hat geschrieben:Hab nun herausgefunden warum der Algo nicht funktioniert, ReadByte() funktioniert nicht anständig. es gibt nur ein byte wert bis 128 zurück, alles darüber wird als 0 ausgegeben
a.b = 130
debug a.b
debug a.b & $FF
AMD XP 2400+ · 1 GB RAM · Radeon 9800 Pro · Win XP SP1 · IE 6.0
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
dieser Code ergenzt nur ein komprimier algorythmus -_-. Und wenn dir die geschwindigkeit nicht passt, dann lösch halt die Delays raus und der Code ist dann schneller. Aber ich würde eher sagen: er ist effektiv. Halt der Code ist nur etwas buggy. Ich teste grad ne neue Version.
edt.
Ich begreiff endlich was du mit deinem Post meinst, robert
.
Nur weil ich die 2DDraw und die Image Lib nutze, heißt das doch nicht, das der code abwärtiger zu behandeln ist. ich habe doch keine lust bei jedem programm, dass ich schreibe, das rad jedes mal neu zu erfinden. Wenn du es als schnick schnack bezeichnest, dann schreib doch deine programme doch gleich in FASM. PB ist auch nur schnick schnack, der den Code in ASM code umwandelt und dann von FASM compilieren lässt. Und zeig du ma uns, an was du so genialem arbeitest.
edt.
Ich begreiff endlich was du mit deinem Post meinst, robert

Nur weil ich die 2DDraw und die Image Lib nutze, heißt das doch nicht, das der code abwärtiger zu behandeln ist. ich habe doch keine lust bei jedem programm, dass ich schreibe, das rad jedes mal neu zu erfinden. Wenn du es als schnick schnack bezeichnest, dann schreib doch deine programme doch gleich in FASM. PB ist auch nur schnick schnack, der den Code in ASM code umwandelt und dann von FASM compilieren lässt. Und zeig du ma uns, an was du so genialem arbeitest.
Zuletzt geändert von MVXA am 28.10.2004 22:14, insgesamt 2-mal geändert.
Eine Komprimierung mit WinRAR ist aber verlustfrei. Wäre ja auch schlimm wenn so ein Archiv da einfach ein paar Byte wegfallen lassen würde. Und Bitmap ist im Normalfall sowieso unkomprimiert.Benubi hat geschrieben:nun ich weiss ja auch nicht alles,
aber bei kompression werden daten vereinfacht; möglichweise farben neu definiert, oder zusammengelegt... (?)
du hast dann einen datenverlust, der für das AUGE nicht sichtbar ist; bei programmen kann man das allerdings nicht so einfach machen, da ein paar zeilen verlust das programm unbrauchbar machen...
hey mir ist doch gestern abend beim einschlafen was eingefallen, weil ich so ein ähnliches problem habe:
Du benutzt Bytes. und bytes gehen "normalerweise" von -128 bis 127.
deshalb bekommst du nur die grautöne.
du muss also die negativen bytes in positive umwanden. sowas ähnliches müsste es sein... bei mir habe ich jetzt alle graustufen jetzt rausbekommen...
du müsstest dein zeichen in ein word umwandeln, und diese Funktion verwenden (gerade selbstgeschrieben
):
* ---->
Du benutzt Bytes. und bytes gehen "normalerweise" von -128 bis 127.
deshalb bekommst du nur die grautöne.
du muss also die negativen bytes in positive umwanden. sowas ähnliches müsste es sein... bei mir habe ich jetzt alle graustufen jetzt rausbekommen...
du müsstest dein zeichen in ein word umwandeln, und diese Funktion verwenden (gerade selbstgeschrieben

Code: Alles auswählen
;- Byte zu Word
Procedure.w ByteToWord(byteaddr.l)
RetByte.w
*bytet.b = PeekB(byteaddr)
If *bytet < 0
RetByte = 127 + (129 + *bytet)
Else
RetByte = *bytet
EndIf
ProcedureReturn RetByte
EndProcedure
;---- test ---
testbyte.b = 0
returnval.w = 0
CreateImage(1,256,256)
x.l
y.l
UseImage(1)
StartDrawing(ImageOutput())
testbyte = 0
For y = 0 To 255
returnval = ByteToWord(@testbyte)
For x = 0 To 255
Plot(x,y,RGB(returnval,returnval,returnval))
Next
;Debug "x="+Str(x)
; Debug "testbyte:"+ Str( testbyte )
; Debug "Fullbyte():" + Str (returnval)
testbyte = testbyte + 1
Next
StopDrawing()
savefile$=SaveFileRequester("Save BMP-Image:","Byte2Long.bmp","BMP-File (*.bmp)|*.BMP",0)
If savefile$<>""
SaveImage(1,savefile$,#PB_ImagePlugin_BMP,10) ; 10 = Beste Qualität
EndIf
End
* ---->

- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken