Einzelnen Beitrag anzeigen

Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Bitmap mit Zlib speichern und laden

  Alt 21. Jun 2006, 10:49
Zitat von heiopei:
[...]Wenn ich jetzt aber auch Bilder speichere, dann kommt beim Laden immer eine AV! Ich hab hier im Forum nur den Hinweis gelesen, dass angeblich LoadFromStream bis zum Ende des Streams ließt. Wenn dem so wäre, ist natürlich klar worans liegt ...

ps: ich hab den code auf das Wesentliche reduziert, das sollte auch die case-schleife und die
Verwendung von TGraphic statt TBitmap erklären...
pps: die anderen Werte schreibe ich mit Zipper.Read(Variable, SizeOf(Variable)) und lese sie so auch
wieder
Du hast dein Problem schon selbst gelöst
Du musst dir zum Bitmap noch irgendwie die Größe merken und gesondert laden.
Grob umrissen:
Delphi-Quellcode:
var
MemStream: TMemoryStream;
Groese: integer;
begin

Entzipper.Read(Groese, sizeof(Groese));
MemStream := TMemoryStream.Create;
MemStream.LoadFromStream(EntZipper, Groese);

MemStream.Position := 0;
Bitmap.LoadFromStream(MemStream);
Also da muss noch try-finally rein, etc dürfte aber das grobe System erklären.
Manuel
  Mit Zitat antworten Zitat