JPEG-Daten-stream in TImage
Habe ich einige Bild-Dateien gespeichert in einer einzigen Datei (eine Art Archiv). Die Datei sieht wie folgt aus:
Gut, es ist getrennt in zwei Segmente - header-und Daten-segment. Header (grün) enthält verschiedene Informationen, wie z.B. album-name, Standort, Datum/Uhrzeit, die Beschreibung, die Anzahl der Fotos im album usw.. Daten-segment (blue & orange) hat einfache Struktur und es enthält N x JPEG-Foto. Kann ich extrahieren, dass "imagedata" - segment in new TMemoryStream-Objekt, und jetzt will ich es zeigen, mit TImage.
Kann ich verwenden SaveAsFile Methode von TMemoryStream, einige temporäre Datei-Namen, laden Sie die Datei von TImage, und später, entfernen Sie temporäre Datei. Das funktioniert, aber ich Frage mich, ist es eine Möglichkeit, zu senden, dass der stream in TImage w/out mit temp. - Dateien.
Natürlich kann ich code schreiben, um alle extrahieren " die Dateien auf der Festplatte, aber das problem ist, dass ich eine Menge von Archiven wie dieses, und wollen einfach nur zu schreiben-Anwendung zu Lesen, diese "Alben" anstatt als 20.000 Fotos auf meiner Festplatte.
Kurz gesagt, alles was ich will ist folgende Prozedur funktioniert (w/out mit temp. Dateien)
procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, ob das, was du suchst, aber dieser code sollte laden Sie die JPEG-Datei aus dem stream in die gegebenen TImage-Komponente:
a post
über diesen Fehler. Entweder ist die Datei beschädigt, oder die Bibliothek nicht entpacken.