gpt4 book ai didi

delphi - JPEG 数据流到 TImage

转载 作者:行者123 更新时间:2023-12-03 14:42:47 26 4
gpt4 key购买 nike

我有一些图像文件存储在一个文件中(某种存档)。该文件如下所示:

enter image description here

嗯,它分为两个段 - header 和数据段。标题(绿色)包含各种信息,例如相册名称、位置、日期/时间、描述、相册中的照片数量等。数据段(蓝色和橙色)结构简单,包含N x JPEG 照片。我可以将该“imagedata”段提取到新的 TMemoryStream 对象中,现在我想使用 TImage 显示它。

我可以使用TMemoryStream的SaveAsFile方法,设置一些临时文件名,从TImage加载该文件,然后删除临时文件。这可行,但我想知道是否有任何方法可以使用 temp 将流发送到 TImage 中。文件。

当然,我可以编写代码来提取硬盘上的所有这些文件,但问题是我有很多像这样的文件,只想编写应用程序来读取这些“相册”,而不是在上面保存 20,000 多张照片我的硬盘。

简而言之,我想要的只是使以下过程有效(不使用临时文件)

procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;

提前致谢。

最佳答案

我不确定这是否是您正在寻找的内容,但此代码应该将 JPEG 文件从流加载到给定的 TImage 组件中:

uses
JPEG;

procedure ShowImageFromStream(AImage: TImage; AData: TStream);
var
JPEGImage: TJPEGImage;
begin
AData.Position := 0;
JPEGImage := TJPEGImage.Create;
try
JPEGImage.LoadFromStream(AData);
AImage.Picture.Assign(JPEGImage);
finally
JPEGImage.Free;
end;
end;

关于delphi - JPEG 数据流到 TImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com