请问如何用Image关联同步显示DBGrid记录中的JPG图片?(20分)

6

609394

Unregistered / Unconfirmed
GUEST, unregistred user!
由于不能直接用DBIMAGE显示JPG文件,我将图片文件名放在ACCESS的一个字段中,
用IMAGE显示指定文件,作DBGRID显示其他字段,但如何做到象DBIMAGE显示BMP的
效果呢?就是DBGRID移动记录时图片跟着改变,要用哪个事件?谢谢!
 
高手请指点!
 
在dataset的onsroll事件处理
 
我用的是Query,好象没有onsroll
 
和和,Query也有的,AfterScroll事件
把图片字段的内容取出,存入一个文件中,然后把文件加载入TImage中
或者就使用Stream作媒介
 
AfterScroll或用DBImage.
 
选建立一个流和TBitMap:
Stream:TStream;
BitMap :TBitMap;
使用CreateBlobStream函数,选生成一个与Query相关联的BlobStream:
Stream=Query.CreateBlobStream(Query.FieldBYName('picture'),bmRead);
BitMap :=TBitMap.create;
BitMap..LoadFromStream(Stream);
Image.Picture.Bitmap.Assign(BitMap);

不要忘了释放内存哦!

 
to bigroute:
用DBImage怎么做?
to catchan:
我照你的方法出错提示:Bitmap image is not valid.
我用的是ACCESS2000,字段类型是OLE对象,导入类型是'数据包'
 
to twos:
我的Query在别的地方还要用,不想用它的事件,DBGRID的事件可否做到?
 
晕,在Delphi 里你用流读出来放到Image里过吗?
那你用VB做吧,VB里的Image可以。
 
delphi太麻烦了,看来我应该用回VB
 
拉不出来屎赖地球没吸引力。
你不会把图片以流的形式存到数据库,再读出来不就完了么。
 
我的主页上有一个例子,可以把数据库中的图片显示在DBGrid中,并且支持BMP/JPG/ICO图片!
http://www.aidelphi.com
 
多人接受答案了。
 
顶部