![]() |
Problem mit BitMap.LoadFromStream und MemoryStream
Guten Abend !
Ich möchte gerne, eine Reihe von BitMaps in einer Datei zusammenfassen:
Delphi-Quellcode:
Aber dummerweise bleibt das Image leer !?{In diesem array Speicher ich die größen der Bilder} TSkinSize = array[0..10] of int64; SkinSize : TSkinSize; {Bilder speichern} procedure TForm1.btnSaveClick(Sender: TObject); var fs : TFileStream; ms : TMemoryStream; i, SizeOld : integer; BitMap : TBitMap; begin if SaveDialog1.Execute then begin ms := TMemoryStream.Create; BitMap := TBitMap.Create; SizeOld := 0; for i := 0 to 10 do begin // lvAnzeige : TListView BitMap.LoadFromFile(lvAnzeige.Items.Item[i].SubItems[1]); BitMap.SaveToStream(ms); SkinSize[i] := ms.Size - SizeOld; SizeOld := ms.Size; end; fs := TFileStream.Create(SaveDialog1.FileName, fmCreate); try fs.Write(SkinSize,SizeOf(SkinSize)); ms.Seek(0,soFromBeginning); fs.CopyFrom(ms,ms.Size); finally fs.free; end; ms.Free; BitMap.free; end; end; {Bilder laden} f := 0; ms := TMemoryStream.Create; fs := TFileStream.Create('C:\Super.skn',fmOpenRead); fs.Read(SkinSize,SizeOf(TSkinSize)); for i := 0 to 7 do inc(f,SkinSize[i]); fs.Seek(SizeOf(TSkinSize) + f, sofromBeginning); ms.CopyFrom(fs, SkinSize[8]); Image1.Picture.Bitmap.LoadFromStream(ms); Kann mir jemand sagen was ich falsch mache ? [Edit] :wall:
Delphi-Quellcode:
[/Edit]
vor:
Image1.Picture.Bitmap.LoadFromStream(ms); muss noch: ms.seek(0,sofromBeginning); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz