巧用Clipboard建立图像数据库

Author: 胡文俊 Date: 1998年 第05期 13版

  Visual Basic中的数据控件(data control)能连接众多的数据库源并且操纵简便,用来开发数据库管理应用程序,可以轻而易举地完成以前需要大量编写程序才能完成的任务。
  使用其缺省数据库(Access格式)的二进制类型(Binary)字段来存放图形图像数据可建立包含图像的数据库,只是图像的格式受限制(缺省为.bmp类型)。
  那么,能否在VB中建立一个不受图像格式限制的图像数据库呢?
  下面通过实例介绍实现方法:
  1.定义数据库结构
  用数据管理器(data manager)建立一个包含表ImgTable的数据库Imge1.mdb。
  其中表ImgTable的结构定义为:
  字段名   类型
  No     Integer
  ImgData   Binary
  这里,同时预先建立几个ImgData内容为空的记录,供测试用。
  2.添加控件及代码
  在Form1上画出标签(Label1)、按钮(Command1)、图片框(Picture1)、数据控件(Data1)各一个,属性及代码如下:
  Data1.DatabaseName=″C:\VB40\IMGE1.MDB″
  Data1.RecordSource=ImgTable
  Label1.DataSource=ImgTable
  Label1.DataField=No
  Picture1.DataSource=ImgTable
  Picture1.DataField=ImgData
  Sub Command1_Click()
  ′从Clipboard截取图像数据到图片框控件中
  Picture1.Picture=Clipboard.GetData()
  End Sub
  3.往Clipboard送图像
  可采用各种支持Clipboard的图像编辑器,如在Photoshop上处理好图像,然后将其“拷贝”或“剪切”至Clipboard。
  4.从Clipboard截取图像到数据库
  切换至VB,运行Form1。用鼠标点击按钮Command1,将图像从Clipboard“粘贴”到图片框中。然后,利用数据控件将当前记录往后(或往前)滑动,图片框中的图像便自动保存至数据库中。
  5.重复3、4步,利用Clipboard可建立一个不受图像格式限制的图像数据库,而且,比起字段中放置图像文件名再依此调用图像文件的方法更易管理。
  另外,对于一些数据库的增加、查询、修改等操纵功能,可配合使用数据库对象(如Database、TableDef、Field、Dynaset、Snapshot等)去完成。
  以上程序在Visual Basic 3.0/4.0上通过。