Javascript 组中的新层
我使用了一个函数,可以从层创建一个新组,就像菜单项一样Javascript 组中的新层,javascript,grouping,photoshop,photoshop-script,Javascript,Grouping,Photoshop,Photoshop Script,我使用了一个函数,可以从层创建一个新组,就像菜单项一样 new_group_from_layers("my group") function new_group_from_layers(groupstr) { // ======================================================= var idMk = charIDToTypeID( "Mk " ); var desc704 = new ActionDescriptor(
new_group_from_layers("my group")
function new_group_from_layers(groupstr)
{
// =======================================================
var idMk = charIDToTypeID( "Mk " );
var desc704 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref233 = new ActionReference();
var idlayerSection = stringIDToTypeID( "layerSection" );
ref233.putClass( idlayerSection );
desc704.putReference( idnull, ref233 );
var idFrom = charIDToTypeID( "From" );
var ref234 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref234.putEnumerated( idLyr, idOrdn, idTrgt );
desc704.putReference( idFrom, ref234 );
var idUsng = charIDToTypeID( "Usng" );
var desc705 = new ActionDescriptor();
var idNm = charIDToTypeID( "Nm " );
desc705.putString( idNm, groupstr ); // name
var idlayerSection = stringIDToTypeID( "layerSection" );
desc704.putObject( idUsng, idlayerSection, desc705 );
var idlayerSectionStart = stringIDToTypeID( "layerSectionStart" );
desc704.putInteger( idlayerSectionStart, 14 );
var idlayerSectionEnd = stringIDToTypeID( "layerSectionEnd" );
desc704.putInteger( idlayerSectionEnd, 15 );
var idNm = charIDToTypeID( "Nm " );
desc704.putString( idNm, groupstr ); // name
executeAction( idMk, desc704, DialogModes.NO );
}
我的问题是是否有一个不使用ScriptListener代码的较短版本?比如:
var layerRef = app.activeDocument.groupLayers.add();
layerRef.name = "my new group";
layerRef.blendMode = BlendMode.PASSTHROUGH;
由于无法立即访问selectedlayers,因此这有点麻烦:(我认为这在DOM中是不可能的。您有什么特别的原因不想使用AM代码吗?或者这只是一个美学问题?像这样的项目可能会对look@SergeyKritskiy我看了一下干净的SL代码,但并不比上面的代码好多少,我只是觉得通过DOM访问它是一件显而易见的事情不幸的是,DOM只覆盖了PS所能做的20%左右(更不用说有时会慢得多)。它只是更容易适应AM,用所有难看的代码创建一个外部库,并在项目中使用自己的干净版本。@Sergeykritski听起来像个计划!