【问题标题】:Illustrator script (or action) to make 1 random layer visible per groupIllustrator 脚本(或动作)使每组 1 个随机图层可见
【发布时间】:2022-02-06 08:27:41
【问题描述】:
【问题讨论】:
标签:
adobe-illustrator
adobe-scriptui
【解决方案1】:
可能是这样的:
function main() {
var doc = app.activeDocument;
// hide all items
var i = doc.pageItems.length;
while(i--) doc.pageItems[i].hidden = true;
// show one random item on every layer
var i = doc.layers.length;
while(i--) {
var items = doc.layers[i].pageItems;
var index = Math.round(Math.random()*(items.length-1));
items[index].hidden = false;
}
// save svg
var counter = 0;
var file = File(Folder.desktop + '/' + counter + '.svg') ;
while (file.exists) {
file = File(Folder.desktop + '/' + counter++ + '.svg');
}
doc.exportFile(file, ExportType.SVG);
// save png
var counter = 0;
var file = File(Folder.desktop + '/' + counter + '.png') ;
while (file.exists) {
file = File(Folder.desktop + '/' + counter++ + '.png');
}
var options = new ExportOptionsPNG24();
options.artBoardClipping = true;
doc.exportFile(file, ExportType.PNG24, options);
}
// repeat the script N times
var n = 3;
while(n--) main();
隐藏所有页面项目,在每一层显示一个随机项目,并将文档保存为桌面文件夹中的 SVG 和 PNG。