請先參閱:Imagepro plus操作5 – 提高測量效率的必須技術-宏操作

上一篇只是敘述了最簡單的宏操作方法。現在我們可以使用一點稍復雜的技巧來提高效率。這也是我剛學會的幾個小招術。使用稍復雜一點的宏,需要你了解 一些編程語言的常識。如果一點也不懂編程語言,理解起來會很困難。但也別太緊張,不會寫代碼不要緊,只要有一點基本的知識的夠用了。

還是以上一篇的例子來說吧。上一篇我編制了一個宏操作程序,然后按一個快捷鍵就能把一張照片的黑白反轉過來了。如果要處理幾百張照片,還是得按幾百次鍵的。

現在我們試着制作一個宏操作,運行它就能把文件夾里所有的文件全給處理了。

打開IPP后加載上默認的宏操作腳本default.ipm。如果你從未用過宏,打開IPP的時候這個默認腳本就已經加載上了。如果要重新加載這個 默認腳本,就點macro 窗口中的 change macro按紐,在彈出的文件選擇窗口中選擇default.ipm打開就行了。

再點擊edit macro,就可以看到宏操作的代碼了。現在我沒錄制宏,所以里面是空的。

下面我錄制了一個宏操作,名稱是ccc。動作是:

invert contrast

apply contrast

save file

close file

就是把一張打開的圖片黑白翻轉后保存,然后關閉這張圖片。

錄制好這個宏之后,再次edit macro,看看錄制的代碼是什么樣子的:

Sub ccc()
‘D
 ret = IpLutSetAttr(LUT_CONTRAST, -1)
 ret = IpLutApply()
 ret = IpWsSave()
 ret = IpDocClose()
 ret = IpIOvrShow(0)
 ret = IpAnShow(0)
 ret = IpDcnvShow(0)
End Sub

所謂編制程序,就是用手寫下這些代碼。

所謂錄制宏操作,就是IPP根據你的操作內容,記錄下來,自動生成一組完成操作的代碼。所以有了宏操作這個功能,不會寫代碼也能寫代碼了。

到現在為止,還不是本篇的主題。下面是想法把這組代碼能應用到多張照片上。

對一組照片進行處理的程序代碼是相當復雜的,咱們自己編制不了。不過,IPP提供了現成的代碼可以利用的。這就是batch_process.ipm。

還是點macro — change macro,在打開的文件選擇窗口中,選擇batch_process.ipm打開。

再點edit macro彈出程序編輯窗口,這回代碼就太多了。

看不懂不要緊。這個宏的功能就是一個一個地打開文件,處理一下,再返回。只要我們把它處理圖片的代碼換成我們自己處理圖片的代碼,它就能用我們自己的操作批處理我們自己的圖片了。

在程序的第119行有這么一段代碼:(找119行的方法是:把光標點到一個地方,在窗口右下角看這個位置的LN后面的數字就是行號,col后面的數字 是列)

 ’ Call processing routine here ***

           ‘ The document ID and file name are sent here
      ’ in case the processing routine needs them.
   DoStuff docID, gDirStart + fName
     
      ‘ Close the initial image

這幾句話前面有“ ‘   ”的綠色字母都是說明文字,只有一句話是有用的,就是“dostuff docID,gdirstart+fname“

這個操作是原來程序的操作,把它換成我們自己的操作就行啦。

上去看看剛才我們自己錄制的代碼,從’D后面開始到end sub之間的代碼替換掉上面這句話就行啦!就是這樣子:
 

 ’ Call processing routine here ***

           ‘ The document ID and file name are sent here
      ’ in case the processing routine needs them.
ret = IpLutSetAttr(LUT_CONTRAST, -1)
 ret = IpLutApply()
 ret = IpWsSave()
 ret = IpDocClose()
 ret = IpIOvrShow(0)
 ret = IpAnShow(0)
 ret = IpDcnvShow(0)
   
      ‘ Close the initial image

然后保存。就可以用了。

點macro菜單,最下面會有三個子菜單

分別是ProcessDirectory,ProcessOpenDocs,ProcessSubDir。我剛才改的是第一個。處理文件夾。

點processDirectory,先會彈出文件選擇窗口,選擇待處理圖片的文件夾中,任找一個文件點一下。OK之后就沒你事了。程序會把這個文件夾里所有的圖片文件都給來個黑白顛倒。其他的非圖片文件則不會被改動。

還可以使用processopendocs,這是批處理打開的圖片,只要按照上述方法改動191行的代碼就行了。

 

原文網址:http://hbchendl.dxyer.cn/1926_69560/