【问题标题】:Creating a list of used spot colors. Each textFrame colored with a corresponding spot color创建使用的专色列表。每个 textFrame 都用相应的专色着色
【发布时间】:2020-05-02 09:20:44
【问题描述】:

如标题所示,我正在尝试创建文档中使用的所有专色的列表。专色的每个名称都应位于不同的 textFrame 中,并且每个 textFrame 都应填充相应的点。

我曾尝试使用样本来做到这一点,但我是半成功的。它会创建一个列表,但不会为 textFrames 着色。

var swatches = doc.swatches;

if (swatches.length > 0) {

        for (var i = 0; i < swatches.length; i++) {
            var swatch = swatches[i]
            var color = swatch.color;

        if (color.typename == "SpotColor") {
            var swatchname = doc.textFrames.add();
            swatchname.contents = color.spot.name;
            var textColor = swatchname.textRange.characterAttributes.fillcolor;
            textColor = color;
        }
    }
}

我不知道为什么它不工作,即使下面的例子工作正常。

var docRef = app.activeDocument;
var myTextFrame = docRef.textFrames.add();
myTextFrame.position = [200,200];
myTextFrame.contents = "Hello World!"

var newCMYKColor = new CMYKColor();
newCMYKColor.cyan = 80;
newCMYKColor.magenta = 40;
newCMYKColor.yellow = 0;
newCMYKColor.black = 0;

myTextFrame.textRange.characterAttributes.fillColor = newCMYKColor;

【问题讨论】:

    标签: javascript adobe-illustrator


    【解决方案1】:

    尝试改变:

    var textColor = swatchname.textRange.characterAttributes.fillcolor;
    textColor = color;
    

    到:

    swatchname.textRange.characterAttributes.fillcolor = color;
    

    您发布的代码中的第一行是读取 fillcolor 的值并将其保存到 textColor var。下一行只是更新该 var 的值,而不是更新 textFrame 的 fillColor 属性。

    【讨论】:

      猜你喜欢
      • 2018-12-20
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 2014-11-11
      • 2012-05-14
      相关资源
      最近更新 更多