手把手教你使用 Imagepro plus - 宏操作【转】
请先参阅: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行的代码就行了。