【问题标题】:Illustrator ExtendScript hiding pathsIllustrator ExtendScript 隐藏路径
【发布时间】:2015-01-29 14:29:48
【问题描述】:

我正在尝试编写一个脚本(因为我找不到可行的脚本),它将我所有单独的图层、路径等导出到透明的 png 文件。我见过很多脚本,但它们都没有导出所有图层等。他们似乎只是尝试导出父图层。因此,如果有子层,就会错过这些。

这是我的脚本:

var doc = app.activeDocument;
var counter = 0;

hideOrShowItems(doc, false);
// processLayers(doc);
// displayLayer(doc, true);

function hideOrShowItems(root, show) {
    for(var i = 0; i < root.layers.length; i++) {
        var layer = root.layers[i];
        var pathCount = layer.pathItems.length;
        var layerCount = layer.layers.length;

        if (pathCount > 0) {
            hideOrShowPaths(layer, show);
        }

        if (layerCount > 0) {
            hideOrShowItems(layer, show);
        }

        layer.visible = show;
    }
}

function hideOrShowPaths(root, show) {
    for(var i = 0; i < root.pathItems.length; i++) {
        root.pathItems[i].visible = show;
    }
}

// -- Removed for brievety

当我运行脚本时,唯一隐藏的就是顶层

其余的都没有改变。 我放了一个计数器并在 hideOrShowPaths 的 for 循环中做了 counter++ ,它计数为 246,所以我知道它可以看到路径并且实际上试图隐藏它们,但是它们保持可见。

以前有人做过吗?我可以隐藏路径、组、剪辑并将它们全部导出为 png 吗?还是我必须手动执行此操作?

【问题讨论】:

    标签: javascript adobe-illustrator extendscript


    【解决方案1】:

    看起来您要查找的标志是 hidden 而不是 visible

    var doc = app.activeDocument;
    var root = doc.layers[0];
    // just for testing purpose. Change the color
    var newRGBColor = new RGBColor();
    newRGBColor.red = 255;
    newRGBColor.green = 255;
    newRGBColor.blue = 255;
    // make all items hidden
    for (var i = 0; i < root.pathItems.length; i++) {
      var item = root.pathItems[i];
      item.hidden = true;
      item.fillColor = newRGBColor; // just for testing
    }
    // now loop all pathItems
    for (var i = 0; i < root.pathItems.length; i++) {
      var item = root.pathItems[i];
      item.hidden = !item.hidden; //make one visible
      // export visible part
      redraw();
      item.hidden = !item.hidden; // hide it again
    }
    

    在您的脚本中,您需要先隐藏每个项目,然后取消隐藏,导出并再次隐藏它。 我希望 sn-p 对您的问题有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 2019-05-12
      • 2011-07-30
      相关资源
      最近更新 更多