Bild mit zusätzlichen Headerinfos versehen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ozzi789

Betreff: Bild mit zusätzlichen Headerinfos versehen

BeitragMo, Jun 28, 2010 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ich habe ein ganz normales png File.
Nun öffne ich es, schreibe oben 2 Strings rein und kopiere den Rest mittels Read/Writebyte rein. (wenn ich die 2 strings oben weglasse lässt sich das file normal öffnen, also liegs nicht an dem)

Nun öffne ich das File erneut, lese die 2 Strings aus, lese dann den Rest mittels Readbyte aus und kopiere ihn in ein Tempfile (d.h wir haben jetzt nur noch die Bildinfos)

Leider kann ich das Bild nichtmehr öffnen (korrupt/ungültiges Dateiformat)

Was mache ich falsch?
Code: [AUSKLAPPEN]

file1=OpenFile("1.png")
file2=OpenFile("1.fdn")

WriteLine (file2,"TEST")
WriteLine (file2,"ENDFILEHEADER")

While Not Eof(file1)
WriteByte(file2,ReadByte(file1))
Wend




Code: [AUSKLAPPEN]

Function loadfdn(pfad$)
   ok=0
   setwintext(pfad$)
   file=OpenFile(pfad$)
   filetemp=WriteFile("temp.png")
   While Not Eof(file)
      If ok=0 tstr$=ReadLine(file) Print tstr$
      If ok=1 WriteByte(filetemp,ReadByte(file))
      If tstr$="ENDFILEHEADER" ok=1
   Wend
End Function



mfg ozzi
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Noobody

BeitragMo, Jun 28, 2010 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich sollte das funktionieren. Du solltest aber auf jeden Fall mal versuchen, file2 nach dem schreiben und filetemp nach dem lesen per CloseFile zu schliessen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

ozzi789

BeitragDi, Jun 29, 2010 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt.
Funktioniert leider immernoch nicht.
Liegt wohl doch irgendwie an der Formatierung.

Ideas?
thnx Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ToeB

BeitragDi, Jun 29, 2010 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm erstmal eine normale datei (Test.txt)

Sort schreibst du 5 Bytes rein 1,2,4,8,16.

Jetzt führst du deinen algo aus und lässt dir dir Readbytewerte im Debuglog ausgeben.
Auch guck mal welchen wert "ok" hat... ich glaub daran liegts

Dann sollte dir auffallen warum Wink

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ozzi789

BeitragDi, Jun 29, 2010 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ja jetzt hab ichs rausgefunden..
habe es jetzt nur mit read/writebyte gelöst.

trotzdem vielen dank Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group