Ich hab des so gelöst, dass ich zwei Streams nehme (der eine als Speicherfile im anderen wird das Bild geladen, halt als Stream) dann kann man den BildStream mit Hilfe der CopyFrom-Prozedur in den andren Stream schreiben des sieht dann ungefähr so aus:
Code:
data:=TFileStream.Create(Filename,fmCreate or fmShareDenyNone);
bild:=TFileStream.Create(Filename des Bildes,fmOpenRead or fmShareDenyNone);
//Hier kommen diverse vorhergehende Infos in die Datei
data.writeBuffer(...);
//dann das Bild
Size:=bild.Size; //Als erstes die Size des bildes auslesen
data.writeBuffer(Size,sizeof(Size)); //dann diese in die File schreiben
data.CopyFrom(bild,Size); //dann das Bild mit CopyFrom einschreiben
//und zum Schluss alles wieder freilassen
data.free;
bild.free;
Die Size schreibe ich nur rein um später dann das Bild wieder korrekt über CopyFrom auslesen zu können (Zuerst die Size und dann das Bild über CopyFrom in einen Stream einlesen). Und ganz zum Schluss wenn man dann das Bild wieder in einem Stream vorliegen hat kann man es über LoadFromStream in ein TBitmap oder sonst was holen.
En bisschen kompliziert aber so hat man des Bild am Ende wieder in einem Stück.
Für die einen ist Windows nur ein Betriebssystem, für die anderen ist es der größte Virus der Welt.