在VB6中實現Kodak控件編程
發表于:2007-07-14來源:作者:點擊數:
標簽:
一、Kodak控件介紹 映像KODAKIMG.EXE是Windows 95/ 98/NT 和 Windows 2000中用于圖像掃描、瀏覽和編輯的附件程序(在 WINDOWS 安裝過程中是可選的),分為自由版和專業版(需另外購買)。在Windows的安裝過程中,4個OCX Kodak控件(Kodak圖像編輯控件、Kodak
一、Kodak控件介紹
映像KODAKIMG.EXE是Windows 95/ 98/NT 和 Windows 2000中用于圖像掃描、瀏覽和編輯的附件程序(在
WINDOWS安裝過程中是可選的),分為自由版和專業版(需另外購買)。在Windows的安裝過程中,4個OCX Kodak控件(Kodak圖像編輯控件、Kodak圖像管理控件、Kodak圖像掃描控件及Kodak圖像縮略圖控件)隨著自由版映像程序的安裝也被一同安裝。這四個控件被允許用于任何的Windows
開發工具中來開發與圖像有關的軟件產品。當然,自由版的映像程序限制并隱藏了這四個控件的一些屬性和方法;比如,編輯控件的DeSpeckle方法僅限于結合專業版的映像程序使用。另外值得一提的是,專業版的映像程序通過引入新的圖像OCR控件提供了擴展的圖像處理能力。還有,Windows映像程序并沒有隨著Windows ME及Windows
XP一同分發。在新的系統中,微軟想以“圖像與電傳瀏覽程序”和“掃描儀與相機向導”取而代之。要在新系統上使用Windows映像程序,必須另行購買Windows映像程序專業版本;但如果從Windows 2000系統升級到XP,依然有映像程序及四個控件可用。
1. Kodak圖像管理控件(非可視化方式)
本控件提供以下功能來管理圖像文件:
1) 創建與刪除目錄;
2) 創建與刪除圖像文件;
3) 打開、保存與打印圖像文檔;
4) 添加、插入和替換包含多幅圖像的圖像文件(如tiff)中的圖像;
5) 管理圖像文件的屬性;
2. Kodak圖像編輯控件(可視化方式)
Kodak圖像編輯控件提供了顯示、注釋和操縱圖像的功能。而且,這個注釋功能是從OCX控件內部提供的。該控件支持一下文件格式:AWD,GIF,TIFF,BMP,JPG,WIFF,DCX,PCX和XIF。
注意:AWD格式在Windows NT 4.0中不能使用。GIF和WIFF僅能在Windows 98中使用。
圖像注釋
Kodak圖像編輯控件提供了圖像注釋功能,這通過幾個屬性,方法及事件來實現。注釋功能允許應用程序給當前顯示的圖像添加注釋。注釋類型包括:Straight Line,Freehand Line,Hollow Rectangle,Filled Rectangle,Image Embedded,Image Reference,Text,Text Stamp,Text From File和Attack-a-Note。
圖像注釋功能可以通過編程來控制,也可以通過激活一個標準的圖像注釋工具欄來實現而不需要一句編程。
圖像操縱
圖像編輯控件提供許多屬性,方法和事件讓開發者實現圖像的操縱。遺憾的是,其大多只能在專業版中使用。自由版提供了諸如:旋轉,倒轉和剪貼板操作等基本功能。
3. Kodak圖像掃描控件(非可視化方式)
Kodak圖像掃描控件提供通過TWAIN接口來掃描文檔的功能,能同符合TWAIN協議的任何掃描儀和數字相機通訊。本控件提供下列功能:
1) 應用程序可以掃描與保存圖像文檔;
2) 掃描單幅或多幅的圖像文檔;
3) 可以在已存在的文檔中添加或插入多幅已實現的圖像。
4. Kodak圖像縮略圖控件(可視化方式)
本控件提供顯示多頁圖像文件的縮略圖預覽功能。其典型應用是:與Kodak圖像管理控件結合給多頁圖像文件添加、插入或刪除一個頁面。
二、用Koda控件開發軟件及注意事項
1. 使用Koda圖像控件編程
在Windows平臺Visual Basic6開發環境中,只需在工程中包含Kodak圖像控件即可用于開發。方式是:點擊菜單“Project”-“components”,在組件對話框中,勾選Kodak圖像四控件。隨后,四控件出現在控件工具欄中,拖動或雙擊這些控件到
VB表單上即可。
2. 用映像程序專業版開發軟件的說明
開發過程中如果使用了Windows映像程序的專業版相應控件提供的一些屬性、方法、事件或參數,那么要求終端用戶機器上也應安裝映像程序專業版本。當然,這個專業版本是需要破費的。
3. 關于編譯和分發軟件的說明
開發商可以用Koda圖像控件來開發圖像軟件,但是這四個控件不可以隨同軟件的分發而一同發放給客戶。既然這些控件隨同Windows 95, 98 NT and 2000一起安裝,這也就基本限定了開發出來的圖像軟件只能在這幾個安裝了Windows映像程序附件的Windows平臺上使用。這樣以來,用這四個控件開發出來的軟件必須同對應版本的Koda圖像控件一同編譯。而且,終端用戶在安裝軟件之前還必須安裝對應版本的映像程序附件。
注意:打包時,一定不要把Kodka圖像四控件與應用程序一塊打包,因為這樣是不能夠正確安裝Windows映像程序的。取而代之的是,終端用戶應獨立地安裝映像程序以確保所有需要的控件的正確安裝與注冊。必要的話,可以再次從Windows安裝CD上重裝映像程序附件。
實踐篇
一、 Kodak圖像編輯控件應用舉例
1) ImgEdit控件的主要屬性是控制掃描圖像的分辨率、圖像的寬高、是否允許對圖像進行局部選擇等;其主要方法有拷貝、剪切圖像到粘貼板,從粘貼板復制圖像,旋轉、放縮、 鏡像圖像;打印、保存、刷新圖像等。
下面是使用這個控件的一些小例。
‘從剪貼板粘貼圖象
Private Sub Paste_Click()
if (imgedit1.IsClipboardDataAvailable and imgedit1.ImageDisplayed ) then
‘從剪貼板粘貼圖象,其參數為Imgedit的顯示區域的起始坐標
imgedit1.ClipboardPaste(selleft,seltop)
end if
End Sub
‘鏡像圖像
Private Sub Flip_Click()
if imgedit1.ImageDisplayed then
imgedit1.Flip ‘鏡像圖像
end if
End Sub
‘旋轉圖象
Private Sub Rotate_Click()
if imgedit1.ImageDisplayed then
imgedit1.RotateRight ‘向右旋轉圖象
end if
End Sub
‘實現剪切
Private Sub Rotate_Click()
imgedit1.DrawSelectionRect(selleft, seltop,selwidth,selheight) ‘進行圖象局部選擇
imgedit1.ClipboardCut(selleft,seltop, selwidth,selheight) ‘剪切所選區域
End Sub
2) 另外,與ImgEdit控件綁定在一起的還有一個ImgAnnTool按鈕控件,這一控件對應映像程序中的“批注”工具欄。下面這個例子可以通過“批注”工具欄操作ImgEdit控件中的圖像。只需如下極簡代碼便OK。
Private Sub Form_Load()
With ImgEdit1
.FitTo 0 'BEST_FIT
.DisplayBlankImage 1700, 2200
.ShowAnnotationToolPalette ‘隨后可使用“批注”工具欄操作當前圖像文件
End With
End Sub
二、Kodak圖像掃描控件應用舉例
1) ImgScan控件的主要屬性有:
a、FileType:圖像的文件類型(該構件支持三種:TIFF,BMP,AWD);
b、ScanTo:返回或設置被掃描圖像的目的;
可取值 含義
0 (缺省) 顯示被掃描的圖像.
1 顯示被掃描的圖像并寫入一個文件.
2 把圖像寫入一個文件
3 以模板方式把圖像寫入文件并顯示.
4. 以模板方式把圖像寫入文件
5 傳真被掃描的圖像
注意:如果取缺省值0,必須和 Wang ImgEdit 構件配合使用。
c、DestImageControl:Wang ImgEdit構件名;
d、Zoom:圖像的放縮比例
2) ImgScan 的主要方法:
OpenScanner :打開掃描儀;
CloseScanner :關閉掃描儀;
StartScan : 開始掃描;
StopScan : 停止掃描
3) ImgScan使用舉例
下面的程序段說明了如何使用Kodak圖像掃描控件掃描一份文檔,并把它保存在函數參數指定的文件名中。注意,窗體中Kodak圖像掃描控件命名為ImgScan1。
Private Function ScanTheImage(ByVal TheImageFile As String) As Boolean
Dim ReturnValue As Long
Dim TestString As String
If ImgScan1.ScannerAvailable then
ReturnValue = ImgScan1.OpenScanner()
ImgScan1.PageOption = 2
ImgScan1.FileType = 1
ImgScan1.PageType = 1
ImgScan1.CompressionType = 4
ImgScan1.CompressionInfo = 1
ImgScan1.ScanTo = 2 ‘保存為文件
ImgScan1.image = TheImageFile ‘圖像將被保存
ImgScan1.ShowSetupBeforeScan = True
ImgScan1.MultiPage = True
ReturnValue = ImgScan1.StartScan()
DoEvents
ImgScan1.CloseScanner
TestString = Dir(TheImageFile)
If TestString <> "" Then
ScanTheImage = True
End If
Else
Msgbox “掃描設備尚不可用”
Exit function
End If
End Function
三、聯合應用舉例
本文附加了eiStream公司的Windows映像程序控件開發參考例程中的“Imaging Sample”一例(此程序在Windows 98/VB6下調試通過)。本例程對除了ImgOCR外四個自由控件的主要功能作了詳細討論。詳見源程序” Imaging Sample.rar”。
四、小結
以上四個Kodak控件主要威力在于:圖像注釋功能、多頁圖像文件的的管理能力、縮略圖預覽功能、圖像掃描功能。對于專業版本,還有圖像OCR功能。以上僅為拋磚引玉,讀者可以結合Windows的HELP文件夾下的幫助文件Imgocxd.hlp等有關資料詳細研究。
原文轉自:http://www.anti-gravitydesign.com