JPEG-Daten-stream in TImage

Habe ich einige Bild-Dateien gespeichert in einer einzigen Datei (eine Art Archiv). Die Datei sieht wie folgt aus:

JPEG-Daten-stream in TImage

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.

InformationsquelleAutor Wh1T3h4Ck5 | 2012-04-17
Schreibe einen Kommentar