2012-07-22 42 views
0

Salvete!我已搜查高有低,但无法弄清楚如何使用Extendscript(JSX),以水平翻转单一,选择的对象。Illustrator的脚本水平翻转

任何人都可以帮忙吗?当然,这不是一个困难的!

回答

2

尝试是这样的:您的选择

mySelection = activeDocument.selection; 
if (mySelection.length>0){ 
    var doc = app.activeDocument;     //current document 
    var s = doc.selection;        //current slection 
    var sl = s.length;          //number of selected objects 
    var m = app.getScaleMatrix(-100,100);  //H flip matrix - feel free to change to (100,-100) for vertical flip, etc. 
    for(var i = 0 ; i < sl; i++) s[i].transform(m); //for each selected element apply the flip matrix 
    app.redraw(); 
}else{ 
    alert("Nothing selected!") 
} 

或者您可以使用一个变换效果(通过影响>扭曲&变换>变换...)与反映选定X,这将分别翻转选择中的每个对象:

Illustrator H Mirror Transform Effect

+0

说,现在片段是个非常好的。那会花一两天才能弄清楚那件事,因为我没有做那么多延伸脚本。现在,我运行该命令后,它不会真正翻转,直到我点击屏幕上的某个地方。有什么补充,会更新屏幕?我通过com runscript命令调用该函数。 – bgmCoder 2012-07-25 19:21:42

+0

如果翻转选择中的每个元素。如果你愿意,你可以保存在Illustrator中预置/ {}语言脚本/脚本文件夹,这将使通过文件>脚本中使用它,你可以分配一个键盘快捷方式。我不知道com runscript命令是什么。 – 2012-07-25 19:31:19

+0

不,我知道了:在最后添加这个“为”的声明:'app.redraw();'我平添了几分的包装整个事情的;请记住,如果我使用最终工作脚本来编辑您的文章? – bgmCoder 2012-07-25 19:32:44

0

我这样做与AppleScript和 “fastscripts” 我把它绑定到命令+ SHIFT + H(& V)

tell application "Adobe Illustrator" 
    if (count page items in document 1) > 0 then 
     set selectedItems to selection 
     set scaleMatrix to get scale matrix horizontal scale -100.0 vertical scale 100.0 
     transform every item in selectedItems using scaleMatrix 
    end if 
end tell