2017-06-28 47 views
1

我正在尝试编写一个应用程序,以使用JavaScript在Photoshop中构建图像的数字“映射”。基本上这涉及使用colorSampler来获取某个像素的RGB值,将值存储在一个对象中并移动到下一个像素上。除了当我到10个读数(即信息面板已满)我得到的所有工作正常。使用脚本在Photoshop中清除颜色样本

“命令‘让’是当前不可用”

任何想法如何我?可以通过脚本清除色样,这样的进程能够继续下去,或做不到这一点,任何人都可以想到的任何变通办法或黑客的

脚本,因为它代表如下:

var vertical_pass = {}; 

for(i=0; i<=10; i++){ 

    // set sampler position 
    var theSampler = app.activeDocument.colorSamplers.add([0 + i, 1]); 

    // Add readings from sampler to object 
    vertical_pass["vp_" + i] = { 
     "x": i, 
     "y": 1, 
     "r": Math.round(theSampler.color.rgb.red), 
     "g": Math.round(theSampler.color.rgb.green), 
     "b": Math.round(theSampler.color.rgb.blue) 
    }; 

    alert(
     "x coords: " + vertical_pass["vp_" + i]["x"] + 
     ". y coords: " + vertical_pass["vp_" + i]["y"] + 
     ". red: " + vertical_pass["vp_" + i]["r"] + 
     ". green: " + vertical_pass["vp_" + i]["g"] + 
     ". blue: " + vertical_pass["vp_" + i]["b"] 
    ); 
} 

回答

2

更妙的是,在开始前消除所有的样品:

app.activeDocument.colorSamplers.removeAll(); 
+0

就看到了这一点 - 感谢;-) – Stef

0

不用担心 - 找到解决方案 - 只需添加:theSampler.remove();在for循环结束之前;-) Doh!