delphi中,将数据库中的不同类型的图片显示出来,用什么控件来实现?

2025-05-14 02:27:04
推荐回答(2个)
回答1:

可以通过流的头(也就是文件头)判断图片格式
然后分别用jpgimage.bitmap,pngobject,gifimage来装载流,然后显示到TImage里
还有一种方法是用GDI+的GPImage,把Stream转换成IStream,然后用GPImage.loadfromstream来装载图片,gpimage会自动识别图片格式并显示

回答2:

以下是我曾经写过程序的一段代码,用的是oracle数据库和delphi
希望有所帮助:
在界面上放了TadoTable和Timage控件
var
jpg:TJPEGImage;
myStream:TmemoryStream;
begin
if adoTable_main.ControlsDisabled then exit;
if (TBlobField(adotable_main.FieldByName('photo_sample')).BlobSize>0) then
begin
try
jpg:=TJPEGImage.Create;
myStream:=TMemoryStream.Create;
TBlobField(adotable_main.FieldByName('photo_sample')).SaveToStream(myStream);
myStream.Position:=0;
jpg.LoadFromStream(myStream);
image1.Picture.Assign(jpg);
finally
jpg.Free;
myStream.Free;
end;
end else
image1.Picture.Graphic:=nil;
end;