gpt4 book ai didi

delphi - 如何将 BLOB 流中的任意图像加载到 TImage 中?

转载 作者:行者123 更新时间:2023-12-03 14:45:05 37 4
gpt4 key购买 nike

如果我理解正确的话,TImage.LoadFromFile 根据文件扩展名确定图片的类型。

有没有办法自动从包含原始图像的 TBlobStream 中检测图像类型?

我当前的代码:

procedure LoadImageFromStream(AImage: TImage; ADataSet: TDataSet);
var
Stream: TStream;
begin
Stream := ADataSet.CreateBlobStream(Field, bmRead);
try
AImage.Picture.Graphic.LoadFromStream(Stream);
finally
Stream.Free;
end;
end

最佳答案

查看此SO answer用于从 header 检索文件内容。

或者您可以使用我们的TSynPicture class ,它将使用 Gdi+ 库在一个类中处理所有类型的图片 (bmp/gif/tiff/jpg/png)。因此,对于任何类型的图片,您的 TPicture 都可以是这个独特的类。与 Jpeg 或 PNG Delphi 单元相比,代码开销更少。

var Pic: TSynPicture;

Pic := TSynPicture.Create;
Pic.LoadFromStream(aStream); // will load bmp/gif/tiff/jpeg/png content
AImage.Picture.Graphic := Pic;
....

关于delphi - 如何将 BLOB 流中的任意图像加载到 TImage 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6251504/

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