2014-09-19 20 views
0

因此,環顧四周之後,我終於找到了一件可以滿足需要的東西。我打算使用applescript來傳遞變量。這就是說我們到了JavaScript。我不太清楚,但仍然試圖撿起它。調整Photoshop轉換JavaScript以包含縮放變量

任何人都可以幫助我添加一些代碼,包括定位錨點後縮放圖像。當前的代碼還需要用戶確認設置。由於我傳遞變量,我不需要這樣做。我認爲,所有我需要做的是改變「DialogModes.ALL」到「DialogModes.NO」

function transform(x, y) {// anchor position as pixels 
    var desc = new ActionDescriptor(); 
     var ref = new ActionReference(); 
     ref.putEnumerated(charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt')); 
    desc.putReference(charIDToTypeID('null'), ref); 
    desc.putEnumerated(charIDToTypeID('FTcs'), charIDToTypeID('QCSt'), charIDToTypeID('Qcsi')); 
     var desc7 = new ActionDescriptor(); 
     desc7.putUnitDouble(charIDToTypeID('Hrzn'), charIDToTypeID('#Rlt'), x); 
     desc7.putUnitDouble(charIDToTypeID('Vrtc'), charIDToTypeID('#Rlt'), y); 
    desc.putObject(charIDToTypeID('Pstn'), charIDToTypeID('Pnt '), desc7); 
    desc.putUnitDouble(charIDToTypeID('Wdth'), charIDToTypeID('#Prc'), 100); 
    desc.putUnitDouble(charIDToTypeID('Hght'), charIDToTypeID('#Prc'), 100); 
    desc.putBoolean(charIDToTypeID('Lnkd'), true); 
    desc.putEnumerated(charIDToTypeID('Intr'), charIDToTypeID('Intp'), charIDToTypeID('Bcbc')); 
    executeAction(charIDToTypeID('Trnf'), desc, DialogModes.ALL); 
}; 

transform(584, 330) 

我要找的功能輸入到這個樣子到底。

transform(584, 330, 50, 50) 

這將使584 = X,330 = y像素錨點和50,50將是x,y比例的百分比。

任何幫助擦亮這將不勝感激。我需要以此爲10,000張批行動的一部分......

回答

0

變化的函數定義

function transform(x, y, w, h) { 

desc.putUnitDouble改線開始於以下內容:

desc.putUnitDouble(charIDToTypeID('Wdth'), charIDToTypeID('#Prc'), w); 
desc.putUnitDouble(charIDToTypeID('Hght'), charIDToTypeID('#Prc'), h);