我花了一整天的时间尝试编写一个javascript,它可以选择位图中的所有白色像素。
我在一个循环中使用了一个循环来逐个迭代所有像素(外层循环遍历垂直线,内层循环遍历水平线)
并使用颜色采样器检测像素RGB值是否足够接近255。
无论如何,这段代码花了很长时间才完成,我确实看到颜色样本光标一次一个地移动到每个像素上。
我发现我可以记录一个动作,从整个图像中选择范围内的所有颜色,并从我的脚本中调用它,这立即奏效了。
我对我的方式很慢并不感到惊讶。但这就引出了一个问题
为什么Photoshop能够扫描整个文档中符合特定标准的像素,使用select>range和工具,如魔术棒和快速选择,但我的代码运行如此之慢,肯定photoshop必须扫描每个单独的像素,以实现这样的效果。
发布于 2015-01-07 02:23:21
对于不被Javascript API直接支持的Photoshop元素(颜色范围选择是其中之一),我建议您考虑使用Adobe脚本侦听器插件,并利用脚本侦听器的输出作为脚本的核心。
我已经写了一篇关于如何在颜色选择here中使用脚本侦听器的教程。教程使用Python,但总体概念完全相同-脚本侦听器甚至为您提供了一个纯JS文件!
这将比迭代像素快得多,因为它使您可以访问作为Photoshop应用程序核心部分的相同快速工具和动作。
希望这能帮上忙。
https://stackoverflow.com/questions/21586314
复制相似问题