BinaryReader

26/11/2009 - 10:19 von Christian Mauerer | Report spam
Hallo,

ich habe eine Frage zum BinaryReader.

Ich erstelle eine Datei mit dem BinaryWriter.
Damit schreibe ich viele Daten in die Datei.
Strings, Int. Und dann auch Bilder.

Diese Daten kann ich ja über den BinaryReader wieder auslesen.
binReader.ReadString() beispielsweise.

Soweit klappt das.
Nun möchte ich aber auch die Bilder wieder einlesen, welche ich zuvor
geschrieben habe.
Dazu setze ich den Basestream des Readers auf die Position, wo das Bild
angeht:
binReader.BaseStream.Position = beginBild.

Diesen Stream kann ich dem Konstruktor des Bitmap übergeben:
Bitmap bit = new Bitmap(binReader.BaseStream, false).
Das würde klappen, wenn in der Datei nur das Bild gespeichert wàre.
Bei mir sind aber nach dem Bild weitere Daten und somit der Stream noch
nicht zu ende,
sondern es kommen noch andere Daten.

Wie kann ich nun diesen Basestrem so eingrenzen, dass eben nur die Daten für
das Bild gelesen werden.
Die Startposition kann ich ja festlegen. Nun kommt es noch darauf an, wie
ich das Ende definieren kann,
wann das Bild zu ende ist.

Da komme ich im Moment nicht wirlich weiter.

Vielen Dank und schöne Grüße
Christian
 

Lesen sie die antworten

#1 Joachim Brust
26/11/2009 - 13:18 | Warnen spam
Hallo Christian,

warum kopierst du deine Bilddaten nicht in einen anderen Stream und
übergibst diesen dem Konstruktor?
Setzt natürlich weiterhin voraus daß du weißt wie groß das Bild ist, bzw. du
weißt wo die nàchste Info im Dateistream beginnt.

gruß Joe

"Christian Mauerer" schrieb im Newsbeitrag
news:
Hallo,

ich habe eine Frage zum BinaryReader.

Ich erstelle eine Datei mit dem BinaryWriter.
Damit schreibe ich viele Daten in die Datei.
Strings, Int. Und dann auch Bilder.

Diese Daten kann ich ja über den BinaryReader wieder auslesen.
binReader.ReadString() beispielsweise.

Soweit klappt das.
Nun möchte ich aber auch die Bilder wieder einlesen, welche ich zuvor
geschrieben habe.
Dazu setze ich den Basestream des Readers auf die Position, wo das Bild
angeht:
binReader.BaseStream.Position = beginBild.

Diesen Stream kann ich dem Konstruktor des Bitmap übergeben:
Bitmap bit = new Bitmap(binReader.BaseStream, false).
Das würde klappen, wenn in der Datei nur das Bild gespeichert wàre.
Bei mir sind aber nach dem Bild weitere Daten und somit der Stream noch
nicht zu ende,
sondern es kommen noch andere Daten.

Wie kann ich nun diesen Basestrem so eingrenzen, dass eben nur die Daten
für das Bild gelesen werden.
Die Startposition kann ich ja festlegen. Nun kommt es noch darauf an, wie
ich das Ende definieren kann,
wann das Bild zu ende ist.

Da komme ich im Moment nicht wirlich weiter.

Vielen Dank und schöne Grüße
Christian



Ähnliche fragen