使用 Javascript 在 Photoshop 中将所有现有剪贴蒙版转换为智能对象
Convert all existing clipping masks to smart object in Photoshop Using Javascript
是否可以使用 Javascript 将所有现有剪贴蒙版转换为 Photoshop 中的智能对象?
我的意思是将图像及其形状剪切蒙版转换为单个智能对象。
这是可能的:尽管此脚本只是查找剪贴蒙版及其所属的图层。没有团体,因为我不知道你的 PSD 是什么样的。但是你明白了。
// select the source image
var srcDoc = app.activeDocument;
var numOfLayers = srcDoc.layers.length;
var smart = false;
for (var i = 0; i< numOfLayers-1; i++)
{
//select that layer as you go along
srcDoc.activeLayer = srcDoc.artLayers[i];
if (is_clipping_layer(srcDoc.layers[i]) == true)
{
// alert(thisLayer.name + "\n " + srcDoc.layers[i+1].name);
select_layer(srcDoc.layers[i+1].name, true)
smart = true;
break;
}
}
if(smart == true)
{
convert_to_smart_object();
}
function is_clipping_layer()
{
var l = activeDocument.activeLayer;
return (l.grouped == true && l.kind == LayerKind.NORMAL)
}
function convert_to_smart_object()
{
var idnewPlacedLayer = stringIDToTypeID( 'newPlacedLayer' );
executeAction(idnewPlacedLayer, undefined, DialogModes.NO);
}
function select_layer(nm, add)
{
try
{
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), nm);
var d = new ActionDescriptor();
d.putReference(stringIDToTypeID("null"), r);
if (add == true) d.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection"));
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (eeek)
{
alert(eeek);
}
}
是否可以使用 Javascript 将所有现有剪贴蒙版转换为 Photoshop 中的智能对象?
我的意思是将图像及其形状剪切蒙版转换为单个智能对象。
这是可能的:尽管此脚本只是查找剪贴蒙版及其所属的图层。没有团体,因为我不知道你的 PSD 是什么样的。但是你明白了。
// select the source image
var srcDoc = app.activeDocument;
var numOfLayers = srcDoc.layers.length;
var smart = false;
for (var i = 0; i< numOfLayers-1; i++)
{
//select that layer as you go along
srcDoc.activeLayer = srcDoc.artLayers[i];
if (is_clipping_layer(srcDoc.layers[i]) == true)
{
// alert(thisLayer.name + "\n " + srcDoc.layers[i+1].name);
select_layer(srcDoc.layers[i+1].name, true)
smart = true;
break;
}
}
if(smart == true)
{
convert_to_smart_object();
}
function is_clipping_layer()
{
var l = activeDocument.activeLayer;
return (l.grouped == true && l.kind == LayerKind.NORMAL)
}
function convert_to_smart_object()
{
var idnewPlacedLayer = stringIDToTypeID( 'newPlacedLayer' );
executeAction(idnewPlacedLayer, undefined, DialogModes.NO);
}
function select_layer(nm, add)
{
try
{
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), nm);
var d = new ActionDescriptor();
d.putReference(stringIDToTypeID("null"), r);
if (add == true) d.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection"));
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (eeek)
{
alert(eeek);
}
}