社区
数据库相关
帖子详情
怎么用左dbimage无法显示ACCESS97数据库中的BMP图片?
netlemon
2000-01-09 12:29:00
我在access 数据库中有一字段是OLE对象,我插入了BMP位图,可在delphi 4 中却无法用dbimage控件显示,提示是“bitmap is not vilid”位图不是有校的,请问怎样才能解决,谢谢。
...全文
253
4
打赏
收藏
怎么用左dbimage无法显示ACCESS97数据库中的BMP图片?
我在access 数据库中有一字段是OLE对象,我插入了BMP位图,可在delphi 4 中却无法用dbimage控件显示,提示是“bitmap is not vilid”位图不是有校的,请问怎样才能解决,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
光明山人
2000-01-25
打赏
举报
回复
好象TGraphicField及TDBImage仅对Paradox有效(也许dBase for Window也行,没玩过),它是针对Paradox的Graphic类型字段。查看VCL的源代码,在TBlobField.LoadFromBitmap及SaveToBitmap中还加了一个头。
如果是用的别的数据库存放图片,你应该自己处理图片的存取,显示。我用Sybase的Image类型字段存过。但只能用TImage控件了。大体实现是这样:
读入时:
aStream := TBlobStream.Create(TBlobField(theBMPField), bmRead);
Image.Picture.Graphic.LoadFromStream( aStream );
aStream.Free;
写时:
aStream := TBlobStream.Create(TBlobField(theBMPField), bmWrite);
Image.Picture.Graphic.SaveToStream( aStream );
aStream.Free;
正式用时,可能会需要测试空值等情况、加上try...finally等。
如果你仅是存图片的话,这个应该能满足你的要求。
如果你要用Ole的话,那得另想办法了。
-------
阿贵
跳出三界外
不在五行中
-------
929
2000-01-24
打赏
举报
回复
在ACCESS的OLE字段中存放图片,则图片不再是完全的图片格式。在99年上半年的一期《电子与电脑》中有一个有关在ASP中显示ACCESS数据库中OLE图片的解答。请参考一下。
对不起,具体哪一期,我忘了!
Venne
2000-01-14
打赏
举报
回复
lightTop说得对.我试过,在ACCESS数据库中插入的OLE,它被记录成一个包,随着图片大小的不同,这个头大小似乎也不一样.我不知道应该从什么位置读取它.
利用容器我不知LIGHTTOP试过没有,我使用OLE容器来读这个流,也不是OLE格式的流,它应该是一个PACKAGE.
lighttop
2000-01-14
打赏
举报
回复
既然你在ACCESS数据库中的字段插入的是BMP位图的OLE 对象,那么这个字段的内容就不光是BMP图象, 还有OLE服务器的信息.
如果你要用图形控件显示字段中存放的位图,首先需要通过"流"的方式把字段内容读到一个内存流(MemoryStream)中然后把其中头部的Ole服务器信息剥除,只除下BMP位图信息,然后将位图信息Assign到一个图形控件上(不需要是数据感应的图形控件)。
还有一个方法, 就是通过容器来显示位图, 容器直接从字段的流中读取数据, 然后自动启动OLE服务器(此为画板程序), 通过OLE服务器来显示编辑位图。
Delphi
数据库
编程新手指南(03)
第三章
数据库
中
的
图片
第一节处理BLOBs(很大的二进制数据块),在
Access
中
存储
图片
现在的
数据库
应用程序不仅仅只需要处理文本或数字数据。例如,基于Interner/Intranet或多媒体的应用开发,就需要频繁的
显示
数据库
中
的文字以及
图片
。在这一章
中
,我们将了解怎样通过ADO取出并
显示
Access
数据库
中
的图形数据(图像)。不用担心,即使它所需的
数据库
编程技巧已远超前面课程所学。
Access
数据库
中
图像的存储和
显示
一、 原理介绍--流式数据的类型及其应用在Dephi
中
提供了TStream来支持对流式数据的操作。TStream是万流之源。但由于它是一个抽象类,故不能被直接使用;而要使用其相应的子类,如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、TWinSocketStream和TOleStream。TStream提供了统一、简洁的方法来进行数据的
delphi 如何实现在MS
Access
数据库
中
图像的存储和
显示
一、原理介绍--流式数据的类型及其应用 在Dephi
中
提供了TStream来支持对流式数据的操作。TStream是万流之源。 但由于它是一个抽象类,故不能被直接使用;而要使用其相应的子类, 如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、 TWinSocketStream和TOleStream。TStream提供了统一、简洁的方法来进...
Delphi
中
怎么样才能将照片保存到
ACCESS
数据库
里
一、 原理介绍--流式数据的类型及其应用在Dephi
中
提供了TStream来支持对流式数据的操作。TStream是万流之源。但由于它是一个抽象类,故不能被直接使用;而要使用其相应的子类,如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、TWinSocketStream和TOleStream。TStream提供了统一、简洁的方法来进行数据的
DELPHI存取JPEG、
BMP
图像到
数据库
完整解决方案
程序代码如下所示: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ExtDlgs, StdCtrls, ADODB, Grids, DBGrids, ExtCtrls,jpeg, DBCtrl
数据库相关
2,507
社区成员
88,453
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章