请先参阅: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/

手把手教你使用 Imagepro plus - 宏操作【转】的更多相关文章

  1. 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

    1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...

  2. 《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)

    1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操 ...

  3. 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)

    1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是 ...

  4. 《手把手教你》系列技巧篇(三十三)-java+ selenium自动化测试-单选和多选按钮操作-上篇(详解教程)

    1.简介 在实际自动化测试过程中,我们同样也避免不了会遇到单选和多选的测试,特别是调查问卷或者是答题系统中会经常碰到.因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助 ...

  5. 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...

  6. 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...

  7. 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)

    1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上 ...

  8. 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

  9. 《手把手教你》系列技巧篇(五十一)-java+ selenium自动化测试-字符串操作-下篇(详解教程)

    1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...

随机推荐

  1. 【转】linux之mkfs/mke2fs格式化

    转自:http://blog.csdn.net/andyhooo/article/details/5321584 mkfs [root@www ~]# mkfs [-t 檔案系統格式] 裝置檔名 選項 ...

  2. 如何在Docker中部署DzzOffice

    一.一些背景 之前研究Docker很久了,并且在公司内部实际使用起来了,目前分两种场景使用Docker 1.作为PAAS,提供一致,统一的编译/测试环境: 2.作为虚拟机,直接分配给新来的开发人员使用 ...

  3. win7 提示"Windows 无法连接到System Event Notification Service服务......"的解决办法

    登录win7系统,突然出现如图1的提示,无线网络中断,不能上网,多次插拔无线网卡问题依然. 图1 解决过程如下: 1.检查网卡硬件状况,在设备管理器中查看网卡现象正常,排除网卡硬件故障. 2.查看服务 ...

  4. 理解KMP

    KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法.简单匹配算法的时间复杂度为O(m*n),KMP匹配算法,可以证明它的时间复杂度为O(m+n).. 一.简单匹配算法 先来看一个 ...

  5. 使用JavaMail API发送邮件

    发送邮件是很常用的功能,注册验证,找回密码,到货通知,欠费提醒等,都可以通过邮件来提醒. Java中发送邮件需要使用javax.mail.jar包,读者可以上网搜索或去官方下载,下载地址为: 下面贴上 ...

  6. WS之cxf的权限拦截器应用

    一.服务器端: 1.权限判断: package cn.tdtk.ws.interceptor; import java.util.List; import org.apache.cxf.binding ...

  7. Linux Shell脚本教程

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  8. erlang代码片段

    转载自http://blog.csdn.net/sw2wolf/article/details/6797708 .列表操作 lists:foreach(fun(X) -> io:format(& ...

  9. centos 7搭建vpn(pptpd)服务器 (只限centos 7)

    第一步:首先检查ppp是否开启  若使用XEN构架的VPS,此步骤不用执行 终端输入命令:cat /dev/ppp 开启成功的标志:No such file or directory 或者 No su ...

  10. 可变长参数列表误区与陷阱——va_arg不可接受的类型

    可变长参数列表误区与陷阱--va_arg不可接受的类型 实现一个有可变长参数列表函数的时候,会使用到stdarg.h(这里不讨论varargs.h)中提供的宏. 例如,我们要实现一个简易的my_pri ...