?
本文檔使用 PHP中文網(wǎng)手冊 發(fā)布
MIS中的圖像應(yīng)用技術(shù)葉葆春 摘要: 本文介紹了ORACLE DEVELOPER/2000開發(fā)工具在MIS圖像處理上的應(yīng)用 技術(shù),并詳細提供了具體實現(xiàn)方法和過程。 關(guān)鍵詞: MIS ORACLE工具 圖像 JPEG 一、問題的提出 計算機技術(shù)的不斷更新和發(fā)展,促使MIS應(yīng)用從基于單一的文本信息發(fā)展為支持多媒體信息,其中圖像應(yīng)用是最常用的一種方式。目前在人事檔案管理、檔案管理、病案管理等應(yīng)用中已廣泛應(yīng)用圖像處理技術(shù),然而在實際應(yīng)用中由于圖像信息量大,許多開發(fā)工具僅支持BMP、PCX等幾種壓縮比小的圖像格式,導(dǎo)致在大型應(yīng)用(幾萬條或幾十萬條記錄)中處理困難,因此如何存貯和管理圖像信息成為這類應(yīng)用系統(tǒng)的關(guān)鍵,ORACLE公司提供的ORACLE數(shù)據(jù)庫及DEVELOPER/2000開發(fā)工具有效地解決了上述問題。 二、ORACLE圖像處理技術(shù)特點 ORACLE數(shù)據(jù)庫系統(tǒng)是目前非常流行的大型分布式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),針對多媒體信息提供了二進制長類型(LONG RAW)數(shù)據(jù)類型,它最大可存貯2GB信息,為大型圖像應(yīng)用系統(tǒng)提供了有效的存貯手段;ORACLE DEVELOPER/2000是ORACLE公司的基于GUI的第二代CLIENT/SERVER開發(fā)工具,具有強大的應(yīng)用開發(fā)功能(尤其是它提供的TIGGER機制可以稱為目前各種開發(fā)工具中事件驅(qū)動機制的先驅(qū))和較強的可移植性、可伸縮性,只需少量編程即可快速地開發(fā)出復(fù)雜的多媒體應(yīng)用系統(tǒng),在圖像處理方面支持多種圖像格式,包括BMP、PCX、GIF、JPEG、PCD、RAS、TIFF 等,其中JPEG提供了較高的壓縮比,以一幅1寸彩色照片為例,按24位真彩方式掃描,以BMP格式存放需74KB,以TIF和GIF格式需36KB,而以ORACLE提供的JPEG格式僅需2.5KB,通過這些技術(shù)足以實現(xiàn)大型圖像應(yīng)用系統(tǒng)。 三、ORACLE圖像處理的實現(xiàn)方法 在圖像處理方面,DEVELOPER/2000中的FORMS應(yīng)用可采用兩類方式: 1. 圖文圖像方式 這種方式與許多開發(fā)工具一樣,在畫布(CONVAS)編輯器中,將圖像直接從文件系統(tǒng)或數(shù)據(jù)庫中導(dǎo)入,主要用來顯示企業(yè)標(biāo)志、制作屏幕背景等,在生成應(yīng)用時圖像同時被存入應(yīng)用程序文件中。 具體步驟如下: 在畫布編輯器屏幕,從菜單欄點按編輯→導(dǎo)入→圖像,出現(xiàn)對話框后,指定待處理的圖像,確定后即將圖像調(diào)入當(dāng)前的畫布中,然后可對其進行任意拖放,也可在其上添加數(shù)據(jù)項或按鈕等。 2. 圖像項方式 這種方式與ORACLE其它數(shù)據(jù)類型的數(shù)據(jù)項(如文本項)使用方式一樣,它以圖像項形式表達,應(yīng)用程序中僅保存其定義,實際運行時動態(tài)顯示,這種方式是圖像應(yīng)用系統(tǒng)中最需要的。下面以一圖文人事檔案管理為例,詳細描述動態(tài)圖像(即員工照片)的二種不同的處理方法。 ?、呕?font color="red">ORACLE RDBMS的處理方法 首先在建立員工檔案基表時,除包含姓名、性別、工作證號、單位、部門等文本信息字段外,還需建立照片字段,此字段必須為LONG RAW類型;然后定義圖像項,一是在建立FORM的新塊時選中照片字段直接定義,另一方法是在已有塊中增加新項或在畫布編輯中增加圖像項,此時應(yīng)注意該項必須與數(shù)據(jù)庫中的字段名對應(yīng);最后在屬性窗口中設(shè)置圖像項的大小風(fēng)格(Size Style),對于固定大小的照片可設(shè)置為Crop即按實際大小顯示方式,而對于不知圖像大小的可設(shè)置為Adjust即按比例縮放圖像以便能夠完整地顯示圖像。 至此設(shè)計完畢,運行時系統(tǒng)自動將定義的圖像項與數(shù)據(jù)庫中的照片字段相對應(yīng),查詢記錄時就將相應(yīng)記錄中的照片信息調(diào)入顯示,若進行修改或替換操作,系統(tǒng)提交時自動修改數(shù)據(jù)庫中的相應(yīng)圖像信息。 基于ORACLE數(shù)據(jù)庫的方法開發(fā)簡單,幾乎不需額外的編程,特別是對圖像的修改、替換處理比其它開發(fā)工具更加方便,比較適用于大型應(yīng)用系統(tǒng);但這種方法只能基于ORACLE數(shù)據(jù)庫才能實現(xiàn),對異種數(shù)據(jù)庫不適用,同時應(yīng)注意在數(shù)據(jù)庫選擇詞句SELECT中不能使用“*”,即不能使用SELECT * FROM ...這樣的語句。 ?、苹谖募到y(tǒng)操作 這種方式員工檔案庫中不含照片字段,但需建立文件目錄結(jié)構(gòu),用于存放圖像文件,如建立類型下面的目錄結(jié)構(gòu): 在FORMS的畫布編輯器中或新項的屬性窗口定義圖像項,需注意的是此項不能與數(shù)據(jù)庫聯(lián)系,然后建立觸發(fā)器(Trigger),以查詢功能為例,需在FORMS中定義塊級Trigger,類型定義為“Post_Query“ ,其PL/SQL內(nèi)容為: declare zp varchar2(100); -- 定義局部變量,存放照片文件名 Begin --block.dw為單位代碼,block.bm為部門代碼,block.gzzh為工作證號 --拼接員工的照片文件名,注意block前的':'不能少 zp:='C:\IMG'||:block.dw||'\'||:block.bm||'\'||:block.gzzh||'.JPG'; -- 將照片文件調(diào)入并以JPEG格式在圖像項IMG中顯示 read_image_file(zp,'JFIF','block.img'); End; 這樣,系統(tǒng)運行時即可在顯示文本信息的同時顯示員工對應(yīng)的照片。 這種方式可基于多種數(shù)據(jù)庫系統(tǒng),缺點是需要編寫較多的代碼,而且文件結(jié)構(gòu)復(fù)雜,不便管理,易造成磁盤碎塊影響系統(tǒng)性能等,因此比較適用于單機、小型應(yīng)用系統(tǒng)。 三、結(jié)束語 通過上面的介紹,可使我們的應(yīng)用系統(tǒng)的內(nèi)涵更加豐富,同時也為選擇開發(fā)工具時提供技術(shù)參考,現(xiàn)在流行的各種開發(fā)工具如PB、VB、DELPHI、DEVELOPER/2000等就其整體功能很難說誰優(yōu)誰劣,一般均能滿足應(yīng)用開發(fā)的需要,但針對具體問題時可能會有差別,如目前直接支持高壓縮比圖像應(yīng)用的工具就不多,這就需要在選擇工具時根據(jù)具體應(yīng)用來仔細考慮。當(dāng)然,隨著時間的推移、軟件版本的不斷更新,支持多媒體的工具會越來越完善,使應(yīng)用系統(tǒng)更加完美。 |