萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Delphi存取圖像完整解決方案

Delphi存取圖像完整解決方案

  對於涉及圖像數據的數據庫應用程序,圖像數據的存取技術是一個關鍵。由於缺少技術文檔及DEMO例程演示,為此筆者在網上搜索了相關資料,有的根本不能用,有的過於繁雜,有的應用范圍太窄(如只能適用於BMP圖像),有的寫得過於簡單理解起來十分困難。。。而且在網上這也是大家比較關心的一個問題。筆者對這個問題進行了反復實作和探索,下邊筆者將通過一個完整的簡單例子來說明如何保存和顯示SQL數據庫中的圖像數據(同時包括BMP和JPEG兩種格式)。

  一、 創建演示數據庫

  在SQL SERVER中新建一演示數據庫:Demo,並創建一數據表Picture1,結構如下:

  字段名 Dtata Type Identity

  Id Int Yes

  Isbmp Tinyint

  Myimage Image

  字段Isbmp是用來記錄在Myimage中存入的圖像的類型(0表JPEG,1表BMP,其它值表無圖像),Isbmp數據類型選用整型 Tinyint而末選用邏輯bit型主要是考慮到如下方法仍適用於ACCESS數據庫。在SQL中打開表Picture1,添入幾條記錄,Myimage 圖像字段值暫不管,字段Isbmp值隨便輸入0和1之外的其它數。

  二、 窗口設計

  在Delphi中新建一個工程,在FORM1上放置如表所示控件(考慮到TDBImage型控件不能正確顯示JPEG型圖像,所以選用Timage型控件顯示所有類型圖像)。

  組件類別 組件屬性名 屬性值 用途說明

  Timage caption Image1 顯示圖像

  name Image1

  Stretch True

  Tbutton caption 選擇圖像 選擇圖像

  name selectimage

  Tbutton caption 保存圖像 保存圖像到數據庫

  name savetodb

  TADOConnection caption Adoconnection1 創建與數據庫demo的連接

  name Adoconnection1

  Connectionstring 見備注

  Connected True

  Loginprompt False

  Tadotable Caption Adotable1 建立與表Picture1的連接

  name Adotable1

  Connection Adoconnection1

  Tablename Picture1

  Active True

  Tdatasource Name Datasource1 建立數據源

  Dataset Adotable1

  Topenpicturedialog Caption Openpicturedialog1 選擇圖像文件

  Name Openpicturedialog1

  Tdbgrid Caption Dbgrid1 顯示記錄

  Name Dbgrid1

  Datasource Datasource1

  備注:

adoconnection1.connectstring :=

'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=demo;

Data Source=Mysqlserver'

Mysqlserver為SQL服務器的名稱請據實際情況更改。

三、 程序代碼(首先在單元文件接口部分的uses語句中添入JPEG單元引用)

  1. 圖像數據的選擇及保存

procedure TForm1.selectimageClick(Sender: TObject); //選擇圖像

begin

if openpicturedialog1.Execute then

image1.Picture.LoadFromFile(openpicturedialog1.FileName );

copyright © 萬盛學電腦網 all rights reserved