私はいくつかの画像ファイルを1つのファイル(ある種類のアーカイブ)に保存しています。 - ヘッダとデータ・セグメントJPEGデータストリームからTImage
まあ、それは2つのセグメントに分けています:このファイルは、次のようになります。ヘッダー(緑色)には、アルバム名、場所、日付/時刻、説明、アルバム内の写真数などのさまざまな情報が含まれます。データセグメント(青色&オレンジ)はシンプルな構造で、N x JPEG写真を含んでいます。私はその "imagedata"セグメントを新しいTMemoryStreamオブジェクトに取り出すことができ、今はTImageを使ってそれを表示したいと思います。
SaveAsFile TMemoryStreamのメソッドを使用して、一時ファイル名を設定し、そのファイルをTImageからロードしてから、一時ファイルを削除します。それはうまくいきますが、tempを使ってそのストリームをTImageに送る方法はありますか?ファイル。
もちろん、ハードディスク上のすべてのファイルを抽出するコードを書くことはできますが、問題はこのようなアーカイブがたくさんあり、2万以上の写真ではなくその "アルバム"私のハードドライブに。要するに
、私が望むすべては、手続きの作品(/ TEMPを使用してワットファイル)事前に
procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;
おかげで、次のようにすることです。
+1少しデフVAR名けどとしてちょうど同じ私は入力している、私はより速く入力する方法を学ぶ必要があります。 – Dampsquid
MY GOD、以前はTJPEGImageを使用していましたが、私はLoadFromStreamメソッドを完全に見逃しました!ありがとう、それだけです。 – Wh1T3h4Ck5
喜んで助ける;-) – TLama