【发布时间】: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