返回

新闻详情

PS高端教程:在PS中用脚本语言来处理图片步骤七


来源:兰州天琥设计培训学校时间:2019/1/11 14:23:59

这一步会略微复杂一点,我们要用脚本语言找出步骤六中得到的填充图层颜色的RGB值。实现这个目的没有所谓的捷径,我使用的方法是首先用脚本命令选中第一个红色通道,然后获取到它的直方图,再从0到255对该直方图的值进行校验,直到发现一个非零值即为R的数值,然后对绿色和蓝色通道重复同样的方法。这个过程在photoshop软件中会更加好理解。如果你还没有跟随我们脚本的节奏打开文件,那么再执行一次以上的脚本。然后在ps软件中,通过窗口>通道打开通道面板,选择红色通道,此时其他通道都会被暂时隐藏,画布中的图像则是灰度模式。使用快捷键Ctrl+L打开色阶调节面板,我们将看到只有一条垂直线的直方图,拖动输出色阶滑块中的一个大致位于这条线的下面,对应的表单框里显示则是R的数值。可以用同样的方法来获取G和B的数值。获取R值的脚本如下,大家可以根据该原理写出获取G和B值的脚本:

for (RLevel = 0; RLevel <= 255; RLevel ++)

{ if (docRef_1.channels[“Red”].histogram[RLevel]) { break; } }

这段代码是一个“for循环”,第一行代码是指RLevel从0开始,以增量1循环到255。RLevel++是指RLevel的增量为1。循环语句内部是一个“if条件语句”,只有当小括号里的条件为真时,程序才会执行花括号里的代码。小括号内的代码是指让ps获取docRef_1的红色通道并且获取直方图对应的数组。我们看到的直方图并不像是一排小盒子组成的但事实上它是的,

对于每一个输出的值,在水平方向从0到255都是一个对应的垂直方向的值。在这个直方图中可以看出只有一个输出值和非零的值对应那么RLevel的值就可以看作是输出色阶的值。因为我们没有在小括号内添加类似等号或者大于号之类的符号,程序会在直方图返回非零值的返回true,因为只有一个非零值,那么该返回值即为R的值。If条件语句返回true时执行的命令是break命令,这将终止循环,所以在找到正确值后该段脚本即会停止。这两个靠近的花括号则是为了结束“for循环”和“if条件语句”。


上一篇:PS高端教程:在PS中用脚本语言来处理图片步骤六

下一篇:PS高端教程:在PS中用脚本语言来处理图片步骤八

  咨询老师  拨打电话  网上报名