在脚本上添加另一种混合模式(Multiply)

时间:2016-03-06 12:53:12

标签: javascript automation photoshop-script

我有一个现有的自动化脚本,但我需要稍微更改它以添加另一个混合模式(Multiply)。它不会工作。所以我将附上脚本,你可以编辑,使其工作。 我只需要能够为它添加另一种混合模式,。



app.displayDialogs = DialogModes.NO;
 
 
var TemplateFile = File.openDialog ("Please select a template :", "*.psd");
var DesignsFolder = Folder.selectDialog("Please select Designs folder :");
 
 
//var TemplateFile =File("/F/Work/Brothel/PSscript_Tshirt/example with darkened layer.psd");
//var DesignsFolder =Folder("/F/Work/Brothel/PSscript_Tshirt/Designs/");
 
 
preferences.typeUnits = TypeUnits.PIXELS;
preferences.rulerUnits = Units.PIXELS;
 
 
open(File(TemplateFile));
var DocRef = activeDocument; 
 
 
var Rectangle = DocRef.activeLayer;
var Rectangle = DocRef.channels.getByName("PASTE HERE");
var Selection = DocRef.selection.load(Rectangle);
var Bound = DocRef.selection.bounds ;
 
 
PosX =  Bound[0];
PosY =  Bound[1];
DimX =  Bound[2] - Bound[0];
DimY =  Bound[3] - Bound[1];
 
 
var DesignsList = DesignsFolder.getFiles("*.psd"| "*.jpg"| "*.jpeg");
 
 
var Win = new Window('dialog', 'BendMode :');
 
 
    Win.size = [150,150];
    Win.btnPnl = Win.add('panel', undefined, 'Build it');
 
 
    Win.btnPnl.rb1 = Win.btnPnl.add('radiobutton', undefined, 'Darken');
    Win.btnPnl.rb2 = Win.btnPnl.add('radiobutton', undefined, 'Normal');
    Win.btnPnl.rb3 = Win.btnPnl.add('radiobutton', undefined, 'Lighten');
 
 
       Win.btnPnl.rb1.onClick = function()
        {Win.close();     
         Exe(1);
        }
       Win.btnPnl.rb2.onClick = function()
        {Win.close();     
         Exe(2);
        }
       Win.btnPnl.rb3.onClick = function()
        {Win.close();     
         Exe(3);
        }
   
      Win.show();
 
 
function Exe(Val){
 
 
    for(I=0; I < DesignsList.length ; I++ ){
       
        open(DesignsList[I]);
        var TempDocRef = activeDocument;
        var N = TempDocRef.name
        TempDocRef.resizeImage(DimX,DimY, undefined, undefined);
        TempDocRef.selection.selectAll();
       
        if(TempDocRef.activeLayer.isBackgroundLayer == true){
            TempDocRef.selection.copy();
            }else{
                TempDocRef.selection.copy(true);
            }
       
        TempDocRef.close(SaveOptions.DONOTSAVECHANGES);
        PasteANDSave(N);
        };
 
 
    function PasteANDSave(N){
        DocRef.artLayers.add();
        var Selection = DocRef.selection.load(Rectangle);
        DocRef.paste();
       
        if(Val == 1){
            DocRef.activeLayer.blendMode  = BlendMode.DARKEN;
        }else if(Val == 2){
            DocRef.activeLayer.blendMode  = BlendMode.NORMAL;
        }else if(Val == 3){
            DocRef.activeLayer.blendMode  = BlendMode.LIGHTEN;
        }
 
        DocRef.resizeImage("1000px", DocRef.height /(DocRef.width/1050) + "px",undefined, undefined);
        var JpegOptions = new JPEGSaveOptions();
        JpegOptions.quality = 12;
        DocRef.saveAs ( new File(DesignsFolder + "/result_" + N ), JpegOptions);
               
        DocRef.activeHistoryState = DocRef.historyStates[0] ;
    }
}
DocRef.close(SaveOptions.DONOTSAVECHANGES);
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你有什么尝试?

显而易见的是添加:

    if(Val == 1){
        DocRef.activeLayer.blendMode  = BlendMode.DARKEN;
    }else if(Val == 2){
        DocRef.activeLayer.blendMode  = BlendMode.NORMAL;
    }else if(Val == 3){
        DocRef.activeLayer.blendMode  = BlendMode.LIGHTEN;
    }else if(Val == 4){
        DocRef.activeLayer.blendMode  = BlendMode.MULTIPLY;
    }

以及

{{1}}