在Delphi中如何将数据库中jpg格式的图片取出,再以bmp的格式放到QRDBImage中输出?!

如题所示!谁来救救我啊~帮帮忙啊~各位~
2025-02-23 07:00:39
推荐回答(4个)
回答1:

用TADOBlobStream进行转换。var blobStream: TADOBlobStream;beginTADOBlobStream.Create(TBlobField(AdoTable1.fieldbyname( 'Picture ')), bmRead); QRDBImage没用过,不知道是否支持jpeg,如果不支持,则需要使用 tjpegiamge对象来进行转换、

回答2:

我记得有图片格式转换的功能. 你可以存在内存变量中.然后保存出来.

回答3:

从数据库取出:TBlobField(FieldByName('字段名')).SaveToFile(ExtractFilePath(Application.ExeName) + 'tmp.bmp');

回答4:

var
strm: TADOBlobStream;
JpegImage: TJpegImage;
a,s:string;
begin
with ado_pic do
begin
close;
sql.Clear;
sql.Add('select * from tb_cpgl_pic where cpxh= '+''''+adoquery1.fieldbyname('cpxh').AsString+'''');
open;
end;
a:=trim(adoquery1.fieldbyname('cpxh').AsString);
s:=a+'.jpg';
strm:=Tadoblobstream.Create(Tblobfield(ado_pic.FieldByName('pic')),bmread);
try
strm.Position:=0;
if strm.Size > 0 then
begin
jpegimage := tjpegimage.Create ;
try
jpegimage.LoadFromStream(strm);
jpegimage.SaveToFile(s);
finally
jpegimage.Free;
end;
end;
finally
strm.Free ;
end;
showmessage('导出成功!!');