将矢量蒙版添加到图层?

问题描述:

我想知道如何在photoshop中添加一个矢量蒙版到给定图层使用photoshop sript(.jsx)?将矢量蒙版添加到图层?

我不是100%确定我想要的是在Photoshop中称为“矢量面具”。 我有一张图片和一张黑白相间的面具,我想自动将面具添加到图片中,以便我们只能看到白色区域下的东西。 黑色区域下必须是透明像素。 这一定是简单的,但我不能找到在线文档什么...

这里是我做了那么远,

 var f_image = File(imageAdress) 
    open(f_image) 

    var bgLayer = activeDocument.artLayers[0] 
    bgLayer.isBackgroundLayer = false; 


    var maskLayer = activeDocument.artLayers.add() 
    maskLayer.name = "mask" 

    open(File(maskAdress)) 
    // flatten the document so we get everything and then copy 
    app.activeDocument.flatten() 
    app.activeDocument.selection.selectAll() 
    app.activeDocument.selection.copy() 
    // don’t save anything we did 
    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES) 
    app.activeDocument.paste() 

//如何设置屏蔽作为掩模????

谢谢!

你不想矢量蒙版;你想要图层蒙版。这是我通常使用的功能。它将在一个图层上添加一个图层蒙版并进行选择。它不会在空白层上工作,但是

makeMask() 

// FUNCTION MAKE MASK 
function makeMask() 
{ 
    var id4556 = charIDToTypeID("setd"); 
    var desc983 = new ActionDescriptor(); 
    var id4557 = charIDToTypeID("null"); 
    var ref657 = new ActionReference(); 
    var id4558 = charIDToTypeID("Chnl"); 
    var id4559 = charIDToTypeID("fsel"); 
    ref657.putProperty(id4558, id4559); 
    desc983.putReference(id4557, ref657); 
    var id4560 = charIDToTypeID("T "); 
    var ref658 = new ActionReference(); 
    var id4561 = charIDToTypeID("Chnl"); 
    var id4562 = charIDToTypeID("Chnl"); 
    var id4563 = charIDToTypeID("Trsp"); 
    ref658.putEnumerated(id4561, id4562, id4563); 
    desc983.putReference(id4560, ref658); 
    executeAction(id4556, desc983, DialogModes.NO); 

    var id4564 = charIDToTypeID("Mk "); 
    var desc984 = new ActionDescriptor(); 
    var id4565 = charIDToTypeID("Nw "); 
    var id4566 = charIDToTypeID("Chnl"); 
    desc984.putClass(id4565, id4566); 
    var id4567 = charIDToTypeID("At "); 
    var ref659 = new ActionReference(); 
    var id4568 = charIDToTypeID("Chnl"); 
    var id4569 = charIDToTypeID("Chnl"); 
    var id4570 = charIDToTypeID("Msk "); 
    ref659.putEnumerated(id4568, id4569, id4570); 
    desc984.putReference(id4567, ref659); 
    var id4571 = charIDToTypeID("Usng"); 
    var id4572 = charIDToTypeID("UsrM"); 
    var id4573 = charIDToTypeID("RvlS"); 
    desc984.putEnumerated(id4571, id4572, id4573); 
    executeAction(id4564, desc984, DialogModes.NO); 
} 

我不知道如何通过脚本使这一点,但到矢量蒙版添加到你的层:

  1. 绘制矢量路径(将出现在窗口的路径)
  2. 有路径激活(选择)
  3. 转到图层菜单,矢量蒙版,电流路径