PS动作、脚本实际工作中的应用

互联网   发布时间:2008-10-05 11:53:29   作者:佚名   我要评论
  前面Photoshop教程介绍了Photoshop入门:动作的安装使用实例 和 Photoshop入门:动作(Action)安装和使用。   最近在做一些无聊游戏,具体就不多说了,谈实际碰到的两个例子:   由于常常有人抱怨写的东西看不懂,所以废话多了点,讲的内容也比较粗浅,还望熟手

二、找茬游戏中脚本的应用
项目要求:制作一大批图片。每两幅一组,两幅之间有十处不同,记录每处不同的矩形区域坐标。
首先是制作图片:其实就是简单的p图,制造一些差异。
为了方便对比观察,避免错漏,使用了cs3的智能对象的堆栈功能(new)。
感觉这样比较方便比较,能在精确查看不同的同时ps图片的内容。
首先建立固定大小的文件,再把素材图拉进来,调整大小,然后ctrl e合并到底层(合并是为了确保未来的智能对象大小和图像大小一致),ctrl j 新建一层。我们只ps 新建出来的这一层,下面不动。
因为有10处差异,所以光靠切换可视对比~比较辛苦,且容易错漏,[差值]对比效果也差又累。
所以我们同时选中两个图层,右键-[转换为智能对象],然后菜单-图层-智能对象-堆栈模式-标准偏差


这时候我们就明显看到两层之间的差异了,
我们可以双击图层面板的智能对象缩略图,就可以展开进入智能对象内部,继续编辑两个图层


我们在智能对象内部编辑的时候,只要随手ctrl s 保存一下,就可以看到原图(黑色那张)上的差异变化了。
图像处理完后,然后就是获得由差异区域的坐标:程序需要把差异区域作为一个个矩形,要得到每个区域左上角和右下角的坐标。


最开始,想把所有区域拉出选区,然后通过 cs3 的新增统计功能获得详细的选区数据,结果~~
非常遗憾,统计可以同时获得所有选区的周长、长宽、面积甚至密度~ 就是不给出具体的每一组坐标(如下图所示)


于是只有改变做法,这时候想到了脚本 里面的 selection.bounds 获得选区坐标,
遗憾的发现,似乎脚本里面没有获取多个区域选取数据的方法,只能获得总选区的左上角 右下角坐标
也就是说10个区域当成一个大区域来看了。~
继续改变方案,改用图层,每个图层只记录一个区域,总可以了吧~~
因为之前的经验,确定图层的范围坐标是可以在脚本里通过 ArtLayer.bounds 获取的。
所以接下来要做的事情就是手动建立一个个小矩形的图层。
由于工作量巨大,不偷懒是不行的,所以录制了一个动作


可以看到,这个动作录制了3步:

    新建图层 填充选区 取消选区
而且这个动作设置了快捷键 F12 (双击动作名称,就可以设置快捷键)
有了这个动作,我只要拉出一个选区,然后按一下 F12,就自动新建一个图层,并填充好。
这样就方便脚本获取每层的数据了。
完成后的文件结构如下:


相关文章

最新评论