如何用dbimage显示SQLSERVER数据库中的tblobfield字段的jpg或GIF文件。(50分)

  • 主题发起人 主题发起人 kylin
  • 开始时间 开始时间
我加100分。
 
怎么这个问题很难吗?还是分数太少了?
看样子斑竹该出手了!
 
jpeg:tjpeg;

jpeg:=tjpeg.create;
jpeg.loadfromfile(tblobfiled);
dbimage1.picture.assign(jpeg);

大概是这样的,具体语句自己调整
 
TDBimage只支持Bmp,如要显示其它格式的图则要用其它的控件或自已写一个。
 
jpeg:tjpeg;

jpeg:=tjpeg.create;
jpeg.loadfromfile(tblobfiled);
dbimage1.picture.assign(jpeg);

这样不行,存不到数据库中,哪位大侠有办法?
 

http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=264291
 
ImageEn的控件包里有一个dbImageEn控件,可显示jpg ,gif格式的图片
我是在www.net-wing.net/kangwei下载的,现在好象没了
要的话我给你Mail一个
 
我给出答案,请您信守诺言,再加100大洋.


//将JPEG文件写入BLOB字段,并显示在IMAGE中
var
m_jpeg:TJpegImage;
begin
m_jpeg:= TJpegImage.Create;
try
try
m_jpeg.LoadFromFile('Photo.jpg');
image1.Picture.Assign(m_jpeg);
table.Edit;
TBlobField(table.FieldByName('照片')).LoadFromFile('Photo.jpg');
except
showmessage('图片文件无效,其格式必须为JPG格式,且不得超过10K,请重新选择.');
end;
finally
m_jpeg.Free;
end;
end;


//读出主表图片字段的图片,显示在IMAGE中
var
m_blob:TBlobStream;
m_jpeg:TJpegImage;
begin
image.Picture:= nil;
m_blob:=TBlobStream.Create(TBlobField(table.FieldByName('照片')),bmRead);
m_jpeg:=TJpegImage.Create;
try
if m_blob.Size<>0 then
begin
try
m_jpeg.LoadFromStream(m_blob);
image.Picture.Assign(m_jpeg);
except
showmessage('主表中图片格式无效(JPG格式),请重新扫描或读入.');
end;
end
finally
m_jpeg.Free;
m_blob.Free;
end;
end;
 
哪位高人能够解释一下如何才能实现:GIF的直接显示、保存到数据库、从数据库读取并显示的方法,小生要做一个图片管理器
 
我不但要作图片管理库,并且要加入语音,同样关注shitengfei 的问题,加100 大洋征求答案.
 
如何在dbgrid中直接读写blob字段
 
诸位,
小弟的方法比较笨,但我已经用在了两个项目中了。
不使用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

 
多人接受答案了。
 
后退
顶部