gpt4 book ai didi

javascript - Indesign 从选定的对象中获取颜色?

转载 作者:行者123 更新时间:2023-12-02 16:44:52 26 4
gpt4 key购买 nike

我搜索了 stackoverflow 和 adobe 社区来找到这个问题的答案。我不知道如何获取 Indesign 中所选对象的颜色。

我现在知道我需要检查它是样本还是添加的正常颜色。但我只是不知道如何针对每种情况将 CMYK 颜色分开。

非常感谢任何帮助!

最佳答案

对象的 fillColor 始终报告为 Swatch ,即使它不在样本列表中。要执行的第一个测试是它是否是Color;您可以使用 instanceofhasOwnProperty 来实现。下一个明智的测试是颜色空间是否为 CMYK。

一个Gradient正如评论中所问,稍微复杂一些。它包含一个 gradientStops 列表,每个渐变点都有一个 stopColor (简单颜色或混合墨水)和位置。如果它是简单颜色,您可以像使用纯填充一样检索其值。

if (app.documents.length && app.selection.length >= 1 && app.selection[0].hasOwnProperty('fillColor'))
{
swatch = app.selection[0].fillColor;
if (swatch instanceof Color &&
swatch.space == ColorSpace.CMYK)
alert ("color: "+swatch.colorValue.join(','));
else if (swatch instanceof Gradient)
{
list = [];
for (i=0; i<swatch.gradientStops.length; i++)
if (swatch.gradientStops[i].stopColor instanceof Color)
list.push (i+' = '+swatch.gradientStops[i].stopColor.colorValue.join(','));
else
list.push (i+' = ?');
alert ("gradient:\r"+list.join('\r'));
}
}

关于javascript - Indesign 从选定的对象中获取颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com