当前位置: 首页 > 图文教程 > 开发语言 > Delphi > Delphi存取图像完整解决方案

Delphi
Delphi客户服务器应用开发(三)
Delphi快速入门(五)
Delphi面向对象的编程方法(一)
Delphi面向对象的编程方法(二)
Delphi面向对象的编程方法(三)
Delphi面向对象的编程方法(四)
字符串列表及应用(一)
字符串列表及应用(二)
文本编辑器的设计(一)
文本编辑器的设计(二)
Delphi图形图像编程(一)
Delphi的两个实用技巧(1)
Delphi的两个实用技巧(2)
delphi实例编程之--制作可随处拖放的工具栏
Delphi快速入门(一)
Delphi快速入门(二)
Delphi快速入门(三)
Delphi快速入门(四)
动态链接库编程(二)
Delphi图形图像编程(二)

Delphi存取图像完整解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 49 ::
收藏到网摘: n/a

  对于涉及图像数据的数据库应用程序,图像数据的存取技术是一个关键。由于缺少技术文档及DEMO例程演示,为此笔者在网上搜索了相关资料,有的根本不能用,有的过于繁杂,有的应用范围太窄(如只能适用于BMP图像),有的写得过于简单理解起来十分困难。。。而且在网上这也是大家比较关心的一个问题。笔者对这个问题进行了反复实作和探索,下边笔者将通过一个完整的简单例子来说明如何保存和显示SQL数据库中的图像数据(同时包括BMP和JPEG两种格式)。

    


  一、 创建演示数据库

  在SQL SERVER中新建一演示数据库:Demo,并创建一数据表Picture1,结构如下:

字段名Dtata TypeIdentity
Id Int Yes
IsbmpTinyint 
MyimageImage  

  字段Isbmp是用来记录在Myimage中存入的图像的类型(0表JPEG,1表BMP,其它值表无图像),Isbmp数据类型选用整型Tinyint而末选用逻辑bit型主要是考虑到如下方法仍适用于ACCESS数据库。在SQL中打开表Picture1,添入几条记录,Myimage图像字段值暂不管,字段Isbmp值随便输入0和1之外的其它数。

  二、 窗口设计

  在DELPHI中新建一个工程,在FORM1上放置如表所示控件(考虑到TDBImage型控件不能正确显示JPEG型图像,所以选用Timage型控件显示所有类型图像)。

组件类别组件属性名属性值 用途说明
TimagecaptionImage1显示图像
nameImage1
StretchTrue
Tbuttoncaption选择图像选择图像
nameselectimage
Tbuttoncaption保存图像保存图像到数据库
namesavetodb
TADOConnectioncaption Adoconnection1创建与数据库demo的连接
nameAdoconnection1
Connectionstring见备注
ConnectedTrue
LoginpromptFalse
TadotableCaptionAdotable1建立与表Picture1的连接
nameAdotable1
Connection Adoconnection1
TablenamePicture1
Active True
TdatasourceNameDatasource1建立数据源
DatasetAdotable1
TopenpicturedialogCaptionOpenpicturedialog1选择图像文件
NameOpenpicturedialog1
TdbgridCaption Dbgrid1显示记录
NameDbgrid1
DatasourceDatasource1