我有一些图像文件存储在一个文件(某种档案)中。该文件如下所示:
好吧,它分为两个部分 - 标题和数据段。标题(绿色)包含各种信息,例如相册名称、位置、日期/时间、描述、相册中的照片数量等。数据段(蓝色和橙色)结构简单,包含N x JPEG 照片。我可以将该“imagedata”段提取到新的 TMemoryStream 对象中,现在我想使用 TImage 显示它。
我可以使用TMemoryStream 的SaveAsFile方法,设置一些临时文件名,从 TImage 加载该文件,然后删除临时文件。那行得通,但我想知道有没有办法使用 temp 将该流发送到 TImage 中。文件。
当然,我可以编写代码来提取硬盘上的所有这些文件,但问题是我有很多像这样的档案,只想编写应用程序来读取这些“相册”,而不是在我的硬盘上保存 20,000 多张照片.
简而言之,我想要的只是使以下程序有效(不使用临时文件)
procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;
提前致谢。