从所选元素中删除剪切路径
Remove clipping path from selected element
我是 Adobe Illustrator 脚本的新手,我遇到了从选区中删除所有剪切路径的问题。我知道一个 属性 path.clipping = false
。但我面临的问题是从所有内部项目中删除。
请帮忙。
这需要从上到下遍历所选项目。请尝试以下方法。该方法遍历所有groupItems内部,如果遍历时发现为true,则设置clipping = false
。希望对您有所帮助。
function removeClipping(item) {
for (var k = 0; k < item.pageItems.length; k++) {
if (item.pageItems[k].typename == 'GroupItem') {
removeClipping(item.pageItems[k])
} else {
for (var i = item.pageItems.length - 1; i >= 0; i--) {
var _item = item.pageItems[i];
if (_item.typename == "PathItem" && _item.clipping) {
_item.clipping = false;
} else if (_item.typename == "GroupItem") {
removeClipping(_item);
}
}
}
}
}
removeClipping(app.selection[0]);
我是 Adobe Illustrator 脚本的新手,我遇到了从选区中删除所有剪切路径的问题。我知道一个 属性 path.clipping = false
。但我面临的问题是从所有内部项目中删除。
请帮忙。
这需要从上到下遍历所选项目。请尝试以下方法。该方法遍历所有groupItems内部,如果遍历时发现为true,则设置clipping = false
。希望对您有所帮助。
function removeClipping(item) {
for (var k = 0; k < item.pageItems.length; k++) {
if (item.pageItems[k].typename == 'GroupItem') {
removeClipping(item.pageItems[k])
} else {
for (var i = item.pageItems.length - 1; i >= 0; i--) {
var _item = item.pageItems[i];
if (_item.typename == "PathItem" && _item.clipping) {
_item.clipping = false;
} else if (_item.typename == "GroupItem") {
removeClipping(_item);
}
}
}
}
}
removeClipping(app.selection[0]);