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

Posted

技术标签:

【中文标题】在 Photoshop 脚本中,如何循环每个选择并在每次迭代期间应用渐变效果?【英文标题】:In photoshop scripting how do you loop each selection and apply a gradient effect during each iteration? 【发布时间】:2018-07-14 02:19:07 【问题描述】:

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

伪代码是:

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】:

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

要计算中心,我想应该可以这样:Find centerpoint of polygon in javascript,因为您可以获得每个子路径的控制点的所有坐标。

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

【讨论】:

以上是关于在 Photoshop 脚本中,如何循环每个选择并在每次迭代期间应用渐变效果?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Photoshop 脚本选择对象

Photoshop脚本来获取实心填充层的颜色?

如何在 Photoshop JavaScript API 中加载图层透明度并保存为路径?

在 Photoshop 脚本中打开和关闭多个图层

用Photoshop软件实现批量压缩照片

将图层名称复制到 Photoshop 中的文本框的脚本