JPEG-Datenstrom zu TImage

8

Ich habe einige Bilddateien in einer Datei gespeichert (irgendeine Art von Archiv). Diese Datei sieht so aus:

Nun, es ist in zwei Segmente aufgeteilt - Header und Datensegment. Header (grün) enthält verschiedene Informationen wie Albumname, Ort, Datum / Uhrzeit, Beschreibung, Anzahl der Fotos im Album usw. Das Datensegment (blau und orange) hat eine einfache Struktur und enthält N x JPEG-Foto. Ich kann dieses "imagedata" Segment in ein neues TMemoryStream Objekt extrahieren und nun möchte ich es mit TImage zeigen.

Ich kann die Methode SaveAsFile von TMemoryStream verwenden, einen temporären Dateinamen festlegen, diese Datei von TImage laden und später die temporäre Datei entfernen. Das funktioniert, aber ich frage mich, ob es irgendeinen Weg gibt, diesen Stream mit Temp in TImage zu senden. Dateien.

Natürlich kann ich Code schreiben, um alle diese Dateien auf der Festplatte zu extrahieren, aber das Problem ist, dass ich viele Archive wie dieses habe und nur eine Anwendung schreiben möchte, um diese "Alben" zu lesen, anstatt mehr als 20.000 Fotos zu haben meine Festplatte.

Kurz gesagt, alles, was ich will, ist, dass folgende Prozedur funktioniert (ohne Verwendung von Temp-Dateien)

%Vor%

Vielen Dank im Voraus.

    
Wh1T3h4Ck5 17.04.2012, 22:39
quelle

1 Antwort

18

Ich bin mir nicht sicher, ob Sie das suchen, aber dieser Code sollte die JPEG-Datei aus dem Stream in die angegebene TImage-Komponente laden:

%Vor%     
TLama 17.04.2012, 22:51
quelle

Tags und Links