先要确定你数据库中的图片格式是哪一种(BMP,JPG等等)。
在窗体上丢一个 TImage,
在程序中定义一个相应的类型,Tpicture,(或者 TJPGImage),TBolb,TMemoryStream;
其它的创建,初始化就不说了,用
Blob:=TBlobField(Query1.FieldByName('图片'));
Blob.SaveToStream(TMemoryStream1) ;
TPicture1.LoadFromStream(TMemoryStream1) ;
最后,Image1.Picture.LoadFrom(Picture);
OK.
以上代码未经编译,如果没有彻底明白,继续讨论。
在窗体上丢一个 TImage,
在程序中定义一个相应的类型,Tpicture,(或者 TJPGImage),TBolb,TMemoryStream;
其它的创建,初始化就不说了,用
Blob:=TBlobField(Query1.FieldByName('图片'));
Blob.SaveToStream(TMemoryStream1) ;
TPicture1.LoadFromStream(TMemoryStream1) ;
最后,Image1.Picture.LoadFrom(Picture);
OK.
以上代码未经编译,如果没有彻底明白,继续讨论。
var
Blob:TBlobField;
MStr:TMemoryStream;
Jpg:TJpegImage;
begin
result:=true;
MStr:=TMemoryStream.Create;
Jpg:=TJpegImage.Create;
with DM.TB_TempQry do //DataMoudle的Query
begin
Close;
SQL.Text:='SELECT * FROM 图片明细表 WHERE 文档序号 = "'+ FDocID ;
try
Open;
except
result:=false;
MStr.Free;
Jpg.Free;
Application.MessageBox('打开图片错误!','提示',MB_OK+MB_ICONERROR);
exit;
end;
First;
while not Eof do
begin
blob:=TblobField(FieldByName('内容')) ;//'内容'即为图片类型的字段
MStr.Clear;
Blob.SaveToStream(MStr);
MStr.Position:=0;
try
Jpg.LoadFromStream(MStr);
(Image1.Picture.Assign(Jpg);
except
Application.MessageBox('打开图片表错误','提示',MB_OK+MB_ICONERROR);
exit;
end;
end;
Close;
end;
Jpg.Free;
MStr.Free;
end;
以上代码是成功的范例,很爽,便宜你了,哈哈,玩笑!!!!!