2012-07-22 92 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