Javascript Photoshop:循环直到达到所需的值

Javascript Photoshop:循环直到达到所需的值,javascript,macos,photoshop,photoshop-script,Javascript,Macos,Photoshop,Photoshop Script,我运行下面的脚本,根据采样器拾取的颜色检查像素的亮度。然后自动调整曝光,直到所需像素的亮度达到235~ //获取颜色采样器值 var colorSampler=app.activeDocument.colorSamplers[0]; //RGB值 var Red=colorSampler.color.rgb.Red var Green=colorSampler.color.rgb.Green var Blue=colorSampler.color.rgb.Blue var RGB=[红、绿、蓝

我运行下面的脚本,根据采样器拾取的颜色检查像素的亮度。然后自动调整曝光,直到所需像素的亮度达到235~

//获取颜色采样器值
var colorSampler=app.activeDocument.colorSamplers[0];
//RGB值
var Red=colorSampler.color.rgb.Red
var Green=colorSampler.color.rgb.Green
var Blue=colorSampler.color.rgb.Blue
var RGB=[红、绿、蓝];
//获得亮度
var平均光度=[(红+绿+蓝)/3];
卢马切克();
函数LumaCheck(){
if(平均光度<215){
Luma20();
}否则如果(平均光度<225){
Luma10();
}否则如果(平均光度<230){
Luma5();
}else if(平均光度<233){
Luma1();
}else if(平均光度<235){
Luma1();
Luma1();
}else(平均光度>=235){
//无所事事
}

}
就实际循环而言,类似这样的方法可以工作,但会有很多开销:

var avrLum=0

就实际循环而言,对于(var i=0;i,类似的操作可能会起作用,但会有很多开销:

var avrLum=0
对于(var i=0;i1),是否有更大的代码块在其他地方使用
averageluminity
作为数组,或者这一行是错误的

//Get Luminosity
var averageLuminosity = [(Red + Green + Blue)/3 ];
在这里,您使用一个值创建一个数组,但稍后将此数组与一个值进行比较

(二)

一旦达到235,在任何红/绿或蓝通道中,它停止

提供的代码不是这样工作的,如果我将color设置为
255255,0
averageLuminosity
等于170,
Luma20()开始执行。此外,在您的代码中,没有只与一种颜色分量进行比较,因此我不确定这是如何实现的。

1)是否有更大的代码块在其他地方使用
averageluminity
作为数组,或者这一行是错误的

//Get Luminosity
var averageLuminosity = [(Red + Green + Blue)/3 ];
在这里,您使用一个值创建一个数组,但稍后将此数组与一个值进行比较

(二)

一旦达到235,在任何红/绿或蓝通道中,它停止


提供的代码不是这样工作的,如果我将color设置为
255255,0
averageLuminosity
等于170,
Luma20()开始执行。另外,在您的代码中,只有一个颜色组件没有比较,所以我不确定这是怎么可能的。

终于有机会测试了!可悲的是,它也无限循环:(终于有机会测试它了!可悲的是,它也无限循环:(