在Photoshop脚本编写中,如何在每次迭代中循环执行每个选择并应用渐变效果?

时间:2018-07-14 02:19:08

标签: javascript photoshop photoshop-script

Basic idea

请忽略蓝线。基本上,我想使用select>颜色范围或魔术棒进行一些选择,对于每个选定的色块,我想在色块的中心应用一些渐变。

伪代码为:

select current active layer

apply color range or magic wand selection

for each sub selection in main selection:

    do: 
        calculate the center coordinate of the current sub-selection area
        apply a custom gradient using the coordinate as the starting point

我不确定这是否可行,因为我不知道颜色范围或魔术要选择是否包含“子选择”。通过子选择,我的意思是上图中的每个单独的补丁。

1 个答案:

答案 0 :(得分:0)

没有子选择,但是您可以将选择转换为Path对象,每个单独的路径都可以用于迭代。根据您的选择(颜色范围可能会提供半透明的选择),您可能需要先将当前选择另存为单独的通道,然后修改选择以使其成为100%不透明。

要计算中心,我猜类似的方法应该起作用:Find centerpoint of polygon in JavaScript,因为您可以获得每个子路径的控制点的所有坐标。

然后,您需要一个一个地创建选择岛,以便渐变不会互相影响。为此,您可以将路径点用作套索选择的点,然后将这些套索选择与原始选择通道相交以重新获得丢失的透明度。