【发布时间】:2019-04-23 14:03:35
【问题描述】:
我编写了一个脚本,它选择多个路径,复制它们,然后使用操作在底部路径的每个副本上应用“对象 > 信封扭曲 > 使用顶部对象制作”以及选择中的每个其他路径(不要相信 DOM 中有任何东西可以直接与信封交互)。所以我从这个开始:
https://i.stack.imgur.com/cBKZs.png
它在 ExtendScript Toolkit 中完美运行,给了我这个:
https://i.stack.imgur.com/dLdRz.png
但如果我从 Illustrator 中执行脚本,我会遇到这样的混乱:
https://i.stack.imgur.com/caL0u.png
这是我的代码:
var doc = app.activeDocument;
var sel = app.activeDocument.selection;
var currentLayer = app.activeDocument.activeLayer;
function envelope(){
var arr = [];
var bottomObject = sel[sel.length - 1];
bottomObject.selected = false;
for (i = 0; i < sel.length - 1; i++){
arr.push(sel[i]);
var newObjs = sel[i].duplicate();
newObjs.zOrder(ZOrderMethod.SENDBACKWARD)
}
currentLayer.hasSelectedArtwork = false;
for (i = 0; i < arr.length; i++){
var objectsToDistribute = bottomObject.duplicate();
objectsToDistribute.zOrder(ZOrderMethod.SENDTOBACK);
arr[i].selected = true;
objectsToDistribute.selected = true;
app.doScript('Envelope all', 'scriptTest');
}
}
envelope();
Here's 动作集。那么为什么我会从同一个脚本中得到不同的结果呢?有没有办法在 Illustrator 中解决这个问题?
【问题讨论】:
标签: javascript adobe adobe-illustrator extendscript