当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

MIS中的图像应用技术[DEVELOPER2000]


  一、问题的提出
  计算机技术的不断更新和发展,促使MIS应用从基于单一的文本信息发展为支持多媒体信息,其中图像应用是最常用的一种方式。目前在人事档案管理、档案管理、病案管理等应用中已广泛应用图像处理技术,然而在实际应用中由于图像信息量大,许多开发工具仅支持BMP、PCX等几种压缩比小的图像格式,导致在大型应用(几万条或几十万条记录)中处理困难,因此如何存贮和管理图像信息成为这类应用系统的关键,ORACLE公司提供的ORACLE数据库及DEVELOPER/2000开发工具有效地解决了上述问题。
  
  二、ORACLE图像处理技术特点
  ORACLE数据库系统是目前非常流行的大型分布式关系型数据库管理系统,针对多媒体信息提供了二进制长类型(LONG RAW)数据类型,它最大可存贮2GB信息,为大型图像应用系统提供了有效的存贮手段;ORACLE DEVELOPER/2000是ORACLE公司的基于GUI的第二代CLIENT/SERVER开发工具,具有强大的应用开发功能(尤其是它提供的TIGGER机制可以称为目前各种开发工具中事件驱动机制的先驱)和较强的可移植性、可伸缩性,只需少量编程即可快速地开发出复杂的多媒体应用系统,在图像处理方面支持多种图像格式,包括BMP、PCX、GIF、JPEG、PCD、RAS、TIFF 等,其中JPEG提供了较高的压缩比,以一幅1寸彩色照片为例,按24位真彩方式扫描,以BMP格式存放需74KB,以TIF和GIF格式需36KB,而以ORACLE提供的JPEG格式仅需2.5KB,通过这些技术足以实现大型图像应用系统。
  
  三、ORACLE图像处理的实现方法
  在图像处理方面,DEVELOPER/2000中的FORMS应用可采用两类方式:
  
  1. 图文图像方式
  这种方式与许多开发工具一样,在画布(CONVAS)编辑器中,将图像直接从文件系统或数据库中导入,主要用来显示企业标志、制作屏幕背景等,在生成应用时图像同时被存入应用程序文件中。
  具体步骤如下:
  在画布编辑器屏幕,从菜单栏点按编辑→导入→图像,出现对话框后,指定待处理的图像,确定后即将图像调入当前的画布中,然后可对其进行任意拖放,也可在其上添加数据项或按钮等。
  
  2. 图像项方式
  这种方式与ORACLE其它数据类型的数据项(如文本项)使用方式一样,它以图像项形式表达,应用程序中仅保存其定义,实际运行时动态显示,这种方式是图像应用系统中最需要的。下面以一图文人事档案管理为例,详细描述动态图像(即员工照片)的二种不同的处理方法。
  
  ⑴基于ORACLE RDBMS的处理方法
  
  首先在建立员工档案基表时,除包含姓名、性别、工作证号、单位、部门等文本信息字段外,还需建立照片字段,此字段必须为LONG RAW类型;然后定义图像项,一是在建立FORM的新块时选中照片字段直接定义,另一方法是在已有块中增加新项或在画布编辑中增加图像项,此时应注意该项必须与数据库中的字段名对应;最后在属性窗口中设置图像项的大小风格(Size Style),对于固定大小的照片可设置为Crop即按实际大小显示方式,而对于不知图像大小的可设置为Adjust即按比例缩放图像以便能够完整地显示图像。
  
  至此设计完毕,运行时系统自动将定义的图像项与数据库中的照片字段相对应,查询记录时就将相应记录中的照片信息调入显示,若进行修改或替换操作,系统提交时自动修改数据库中的相应图像信息。
  
  基于ORACLE数据库的方法开发简单,几乎不需额外的编程,特别是对图像的修改、替换处理比其它开发工具更加方便,比较适用于大型应用系统;但这种方法只能基于ORACLE数据库才能实现,对异种数据库不适用,同时应注意在数据库选择词句SELECT中不能使用"*",即不能使用SELECT * FROM …这样的语句。
  
  ⑵基于文件系统操作
  这种方式员工档案库中不含照片字段,但需建立文件目录结构,用于存放图像文件,如建立类型下面的目录结构:
  C:\ ── IMG ┬── 单位代码 ┬── 部门代码 ┬─工作证号1.JPG
  │ │ │ …….
  │ │ │
  │ │ └─工作证号n.JPG
  
  在FORMS的画布编辑器中或新项的属性窗口定义图像项,需注意的是此项不能与数据库联系,然后建立触发器(Trigger),以查询功能为例,需在FORMS中定义块级Trigger,类型定义为"Post_Query" ,其PL/SQL内容为:
  declare
  zp varchar2(100); -- 定义局部变量,存放照片文件名
  Begin
  --block.dw为单位代码,block.bm为部门代码,block.gzzh为工作证号
  --拼接员工的照片文件名,注意block前的':'不能少
  zp:='C:\IMG'||:block.dw||'\'||:block.bm||'\'||:block.gzzh||'.JPG';
  -- 将照片文件调入并以JPEG格式在图像项IMG中显示
  read_image_file(zp,'JFIF','block.img');
  End;
  这样,系统运行时即可在显示文本信息的同时显示员工对应的照片。这种方式可基于多种数据库系统,缺点是需要编写较多的代码,而且文件结构复杂,不便管理,易造成磁盘碎块影响系统性能等,因此比较适用于单机、小型应用系统。
  
  四、结束语
  通过上面的介绍,可使我们的应用系统的内涵更加丰富,同时也为选择开发工具时提供技术参考,现在流行的各种开发工具如PB、VB、DELPHI、DEVELOPER/2000等就其整体功能很难说谁优谁劣,一般均能满足应用开发的需要,但针对具体问题时可能会有差别,如目前直接支持高压缩比图像应用的工具就不多,这就需要在选择工具时根据具体应用来仔细考虑。当然,随着时间的推移、软件版本的不断更新,支持多媒体的工具会越来越完善,使应用系统更加完美。
相关内容
赞助商链接