Ich habe einige Bilddateien in einer Datei gespeichert (irgendeine Art von Archiv). Diese Datei sieht wie folgt aus:JPEG-Datenstrom zu TImage
Nun, es in zwei Segmente getrennt wird - Header und Daten-Segment. Header (grün) enthält verschiedene Informationen wie Albumname, Ort, Datum/Uhrzeit, Beschreibung, Anzahl der Fotos im Album usw. Datensegment (blau & orange) hat eine einfache Struktur und enthält N x JPEG-Foto. Ich kann dieses "imagedata" -Segment in ein neues TMemoryStream-Objekt extrahieren und möchte es jetzt mit TImage anzeigen.
Ich kann SaveAsFile Methode von TMemoryStream verwenden, einige temporäre Dateinamen festlegen, diese Datei von TImage laden und später 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 Festplatte zu extrahieren, aber das Problem ist, dass ich viele Archive wie dieses habe und nur Anwendung schreiben möchte, um diese "Alben" zu lesen, anstatt 20.000 Fotos zu haben auf meiner Festplatte.
Kurz gesagt, alles, was ich will, ist folgendes Verfahren zu machen arbeitet (w/out Temp verwenden. Dateien)
procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;
Vielen Dank im Voraus.
+1 leicht diff var Namen aber genau das gleiche wie Ich tippte ein, ich musste schneller tippen lernen. – Dampsquid
MEIN GOTT, sogar ich habe TJPEGImage vorher benutzt, ich habe die LoadFromStream-Methode total vermisst !? Vielen Dank, das war's. – Wh1T3h4Ck5
Ich bin froh zu helfen ;-) – TLama