![]() |
Delphi-Version: 2010
TjpegImage . LoadfromStream
Hallo Community,
Ich habe hier (wiedermal) ein Virtual String Tree, im OnSaveNode speichere ich mehre TjpegImage. Wer sich nicht mit dem VST auskennt hier die Funktion:
Delphi-Quellcode:
Sprich ich benutze einfach die Funktion SaveToStream von der jpeg unit.
procedure TForm1.VST_MoviesSaveNode(Sender: TBaseVirtualTree;
Node: PVirtualNode; Stream: TStream); var Data: PTreeData; begin Data := VST_Movies.GetNodeData(Node); Data.Image.SaveToStream(Stream); end; Wenn ich nun diese Datei jedoch wieder lade passiert etwas komisches :cyclops: , zuerst merkt man es dass der Taskmanager mir eine Speicherauslastung für den Prozess von ~ 800 MB anzeigt, Und wenn ich dann das alles wieder speichern will wird auch die Ausgabedatei ca 800MB groß (normalerweise ist sie 6MB groß), letzendlich kann ich diese Datei dann auch nicht mehr laden (jpeg Fehler #42). Laden tue ich das übrigens auch ganz normal:
Delphi-Quellcode:
So um das ganze jetzt noch richtig merkwürdig zu machen habe ich follgende Konstellation gestestet:
procedure TForm1.VST_MoviesLoadNode(Sender: TBaseVirtualTree;
Node: PVirtualNode; Stream: TStream); var Data: PTreeData; begin Data := VST_Movies.GetNodeData(Node); Data.Cover := TjpegImage.Create; Data.Cover..LoadFromStream(Stream); end; Erst das ganze in ein jpegImage vom Steeam laden dass mit Assign einem TBitmap zuweisen und dann wieder mit Assign einem TjpegImage.
Delphi-Quellcode:
Und... naja... hier funktioniert es, Man kann die jpegs laden, verwenden und speichern (mit einer 6MB Ausgabedatei).
Data.Cover := TjpegImage.Create;
tmpjpeg := TjpegImage.Create; tmpBmp := Tbitmap.Create; tmpjpeg.LoadFromStream(Stream); tmpBmp.Assign(tmpjpeg); Data.Cover.Assign(tmpBmp); tmpBmp.Free; tmpjpeg.Free; Ich weiss nicht ob ich einen Fahler beim jpeg.LoadfromStream gefunden habe, oder ich einfach selber irgendwo "Müll" zusammengeschrieben habe, jedoch hoffe ich dass jemand von euch mir helfen kann :oops: Mit freundlichen Grüßen Mike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 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 by Thomas Breitkreuz