【发布时间】:2018-10-21 12:18:09
【问题描述】:
我已经使用 scriptlistener 创建了一个新层。它所做的聪明的事情是将它放在活动层之上(在创建后不从顶部移动它)但是,我不知道它是代码的哪一部分,因为它们都符合 executeAction:
function create_new_layer(layername)
{
var idMk = charIDToTypeID( "Mk " );
var desc447 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref217 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
ref217.putClass( idLyr );
desc447.putReference( idnull, ref217 );
var idUsng = charIDToTypeID( "Usng" );
var desc448 = new ActionDescriptor();
var idNm = charIDToTypeID( "Nm " );
desc448.putString( idNm, layername );
var idLyr = charIDToTypeID( "Lyr " );
desc447.putObject( idUsng, idLyr, desc448 );
var idLyrI = charIDToTypeID( "LyrI" );
desc447.putInteger( idLyrI, 57 );
executeAction( idMk, desc447, DialogModes.NO );
}
【问题讨论】:
-
但这是一种默认的 Photoshop 行为:在活动层之上创建新层。我错过了什么吗?
-
var layerRef = app.activeDocument.artLayers.add();在堆栈顶部创建一个层,但 Layers > New Layer 在活动层顶部创建一个。你会认为两者会做同样的事情。 -
复制并粘贴那个坏男孩,我会接受它作为最好的答案ツ
标签: photoshop extendscript photoshop-script