如何在Delphi中调入Access数据库中的图片?(50分)

  • 主题发起人 主题发起人 kitty_chen
  • 开始时间 开始时间
K

kitty_chen

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Access数据库中建了一个人员表,有一个OLE对象字段放置每个人的照片,
想在Delphi中用TDBNavigator控件控制此表以显示每个人的信息(包括照片)。
但是用TDBImage控件显示照片字段时总出现"Bitmap image is not valid"
的错误提示,不知为什么?
 
TDBimage只支持Bmp格式,
可能数据库中存储的图片数据格式不对。
 
你得图片不是BMP的,可能是JPG或gif.

小弟的方法比较笨,但我已经用在了两个项目中了。
不使用TDBImage,而使用TImage控件。例如,有个table1,image1,在读数据库的时候,
procedure getRecord;
begin
if not table1.Active then table1.active := True;
TBLOBFIELD(table1.fieldbyname('picture')).savetofile('temp.jpg');
image1.Picture.LoadFromFile('temp.jpg');
end;

写的时候
procedure saveRecord;
begin
image1.Picture.savetoFile('temp.jpg');
if not table1.Active then table1.active := True;
TBLOBFIELD(table1.fieldbyname('picture')).loadFromfile('temp.jpg');
end;

GIF的图片不能被Timage直接支持,可以用Rxlib中的TRxGIFAnimator.
当然拉,如果想支持更多的图片格式可以用xExcpress,或着leadTools.不过好象都要收费:-)


larry

 
知道后请通知我
 
接受答案了.
 
后退
顶部