我整天都在尝试编写一个javascript来选择位图中的所有白色像素
我在循环中使用了一个循环来逐个迭代所有像素(外部循环穿过垂直线,内部循环穿过水平循环)
并使用coloursampler检测像素RGB值是否足够接近255。
无论如何,这段代码需要很长时间才能完成 我确实看到颜色样本光标一次一个地移动每个像素。
我发现我可以录制一个动作,从整个图像中选择一个范围内的所有颜色并从我的脚本中调用它,这会立即起作用。
我的方式很慢,我并不感到惊讶。 但这提出了一个问题
为什么Photoshop能够使用select>范围和工具(如魔棒)快速扫描整个文档以查找符合特定条件的像素,然后快速选择我的代码运行得如此之慢 当然,Photoshop必须扫描每个像素,以达到这样的效果。
答案 0 :(得分:1)
对于不受Javascript API直接支持的Photoshop元素(颜色范围选择就是其中之一),我建议你研究一下使用Adobe Scripting Listener插件,并利用脚本监听器的输出来实现核心你的脚本。
我编写了一个关于如何利用脚本侦听器进行颜色选择here的教程。教程使用Python,但总体概念完全相同 - 脚本监听器甚至为您提供了一个纯JS文件!
这比迭代像素要快得多,因为它可以让您访问作为Photoshop应用程序核心部分的相同快速工具和操作。
希望有所帮助。