如何将jpg图像保存到数据库,然后使用FIBplus和TImage在Delphi中加载?
答案 0 :(得分:3)
var
S : TMemoryStream;
begin
S := TMemoryStream.Create;
try
TBlobField(AdoQuery1.FieldByName('ImageField')).SaveToStream(S);
S.Position := 0;
Image1.Picture.Graphic.LoadFromStream(S);
finally
S.Free;
end;
end;
如果您使用的是JPEG图像,请将JPG单位添加到单位文件的使用子句。
答案 1 :(得分:0)
This page解释了这一点。如果您不想要临时文件,请使用SaveToStream和TMemoryStream而不是SaveToFile。 TImage.Picture有一个LoadFromStream,可以将图像从流加载到TImage中进行显示。
答案 2 :(得分:-1)
Take a look here. 我认为你必须将它转换为流,存储它,反之亦然。
答案 3 :(得分:-1)
Delphi 7悖论表
将dbimage插入jpeg
var
FileStream: TFileStream;
BlobStream: TStream;
begin
if openpicturedialog1.Execute then
begin
Sicil_frm.DBNavigator1.BtnClick(nbEdit);
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
try
BlobStream := dm.sicil.CreateBlobStream(dm.sicil.FieldByName('Resim'),bmWrite);
FileStream := TFileStream.Create(openpicturedialog1.FileName,fmOpenRead or fmShareDenyNone);
BlobStream.CopyFrom(FileStream,FileStream.Size);
FileStream.Free;
BlobStream.Free;
Sicil_frm.DBNavigator1.BtnClick(nbPost);
DM.SicilAfterScroll(dm.sicil);
except
dm.sicil.Cancel;
end;
end;
end;
错误"位图图像是nat有效的"