请先参阅: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基本命令(8)网络操作的命令

    网络操作命令 命令 功能 命令 功能 ftp 传送文件 telnet 远端登陆 bye 结束连线并结束程序 rlogin 远端登入 ping 检测主机 netstat 显示网络状态 8.1 ftp命令 ...

  2. [转]linux系统的7种运行级别

    转自:http://blog.chinaunix.net/uid-22746363-id-383989.html Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行 ...

  3. 设计模式 适配器-Adapter

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 直接上图.下面是对象适配器的类图.由于Java不支持多继承.所以这是Java的适配器实现方式. 结合H ...

  4. Hadoop学习记录(7)|Eclipse远程调试Hadoop

    1.创建Hadoop项目 2.创建包.类 这里使用hdfs.WordCount为例 3.编写自定Mapper和Reducer程序 MyMapper类 static class MyMapper ext ...

  5. WinForms 使用Graphics绘制字体阴影

    C#以两种方法实现文字阴影效果,同时还实现了简单的动画效果: 一种是对文本使用去锯齿的边缘处理,在两个不同的位置绘制文本,形成阴影: 另一个是以阴影为线条,构造影线画刷,先画背景再画前景,使用grap ...

  6. c++builder 重载WindowProc、WndProc 截获消息

    c++builder 重载WindowProc.WndProc 截获消息 方法一WindowProc void __fastcall  myWindowProc(Messages::TMessage ...

  7. 摄影初学者挑选相机的常见问题 FAQ

    数码相机一次次降价,越来越多的人加入摄影的行列,照相器材还是一个比较专业的领域,并非简单的参数比一下高低就可以知道好坏,很多朋友往往了解了好久还没弄清孰优孰劣,在购机前踌躇半天拿不定主意,我收集了被问 ...

  8. MetaQ安装部署文档

    一.MetaQ安装部署情况: 地点 IP Broker ID Master/Slave Slave ID:Group 合肥 192.168.52.23 Slave 1:meta-slave-group ...

  9. Remove Duplicates from Sorted List @LeetCode

    /** * Remove Duplicates from Sorted List * * Given a sorted linked list, delete all duplicates such ...

  10. 使用XML与远程服务器进行交互

    最近在做的一个项目其中的一部分是与远程服务器进行交互,确定身份验证的合法性,于是编写了SendRequest方法 此方法发送给远程服务器XML请求,服务器经过处理后,返回XML回应,由此方法接收到后进 ...