Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过在photoshop cc 20.0.0中的智能对象(替换层)批中编写脚本来替换内容_Javascript_Json_Jsx_Photoshop - Fatal编程技术网

Javascript 通过在photoshop cc 20.0.0中的智能对象(替换层)批中编写脚本来替换内容

Javascript 通过在photoshop cc 20.0.0中的智能对象(替换层)批中编写脚本来替换内容,javascript,json,jsx,photoshop,Javascript,Json,Jsx,Photoshop,因此,我将这些28*.tif图像文件作为28层(智能对象)排列在一个.psd文件中,并希望用另一个.tif文件替换每一层。我希望使用如下循环运行一些脚本(jsx): for (i=1;i<=28;i++) { for j in (start,end) { for k in (a,b,c,d,e,f) { file = 'chr' + $i + '_' + $j + '_' + $k; }}} 这将获取JSON

因此,我将这些28*.tif图像文件作为28层(智能对象)排列在一个.psd文件中,并希望用另一个.tif文件替换每一层。我希望使用如下循环运行一些脚本(jsx):

for (i=1;i<=28;i++) {
  for j in (start,end) {
     for k in (a,b,c,d,e,f) {
            file = 'chr' + $i + '_' + $j + '_' + $k;
                     }}}

这将获取JSON中的输入并替换文本,同样,也可以替换给出文件路径的图像

它只需查找图层组,然后用文本或您选择的文件替换内容,然后将jpg和PSD文件保存在输出文件夹中

您可以在此处看到代码:


尝试此代码

它将遍历所有层,并将其替换为您选择的.tiff文件

var doc = app.activeDocument;

function editContent() {

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

function Rename() {
  // Edit Contents
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    executeAction(sTID('placedLayerEditContents'), desc1, dialogMode);
  };

  step1();      // Edit Contents
};

Rename.main = function () {
  Rename();
};

Rename.main();

    }

function merge() {
    var fileRef = File.openDialog ('Choose File', ['*.tif;*tiff'], true);
    app.open( new File( fileRef ) );
    if(app.activeDocument.activeLayer.isBackgroundLayer ) app.activeDocument.activeLayer.name = 'From Background';    
    app.activeDocument.selection.selectAll();
    app.activeDocument.selection.copy();
    app.activeDocument.selection.deselect();


    var idMk = charIDToTypeID( "Mk  " );
    var desc8946 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref1324 = new ActionReference();
        var idBckL = charIDToTypeID( "BckL" );
        ref1324.putClass( idBckL );
    desc8946.putReference( idnull, ref1324 );
    var idUsng = charIDToTypeID( "Usng" );
        var ref1325 = new ActionReference();
        var idLyr = charIDToTypeID( "Lyr " );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref1325.putEnumerated( idLyr, idOrdn, idTrgt );
    desc8946.putReference( idUsng, ref1325 );
executeAction( idMk, desc8946, DialogModes.NO );



    app.activeDocument.close(SaveOptions.SAVECHANGES);
    app.activeDocument.artLayers.add();
    app.activeDocument.paste();
    app.activeDocument.flatten();
    app.activeDocument.close(SaveOptions.SAVECHANGES);
    }

for (var i=0;i<doc.layers.length;i++){ 
    doc.activeLayer=doc.layers[i];
    editContent();
    merge();
    }
var doc=app.activeDocument;
函数editContent(){
cTID=函数{return app.charIDToTypeID;};
sTID=函数{返回app.stringIDToTypeID;};
函数重命名(){
//编辑内容
功能步骤1(启用,带对话框){
如果(已启用!=未定义&&!已启用)
回来
var dialogMode=(withDialog?DialogModes.ALL:DialogModes.NO);
var desc1=新的ActionDescriptor();
执行操作(sTID('placedLayerEditContents')、描述1、对话模式);
};
步骤1();//编辑内容
};
Rename.main=函数(){
重命名();
};
Rename.main();
}
函数merge(){
var fileRef=File.openDialog('Choose File',['*.tif;*tiff'],true);
app.open(新文件(fileRef));
如果(app.activeDocument.activeLayer.isBackgroundLayer)app.activeDocument.activeLayer.name='From Background';
app.activeDocument.selection.selectAll();
app.activeDocument.selection.copy();
app.activeDocument.selection.deselect();
var idMk=charIDToTypeID(“Mk”);
var desc8946=新的ActionDescriptor();
var idnull=charIDToTypeID(“null”);
var ref1324=新的ActionReference();
var idBckL=charIDToTypeID(“BckL”);
参考1324.putClass(idBckL);
desc8946.putReference(idnull,ref1324);
变量idUsng=charIDToTypeID(“Usng”);
var ref1325=新的ActionReference();
var idLyr=charIDToTypeID(“Lyr”);
var idOrdn=charIDToTypeID(“Ordn”);
var idTrgt=charIDToTypeID(“Trgt”);
参考1325.列举的腐败(idLyr、idOrdn、idTrgt);
说明8946.参考文献(同上,参考文献1325);
执行(idMk,desc8946,DialogModes.NO);
app.activeDocument.close(SaveOptions.SAVECHANGES);
app.activeDocument.artLayers.add();
app.activeDocument.paste();
app.activeDocument.flatte();
app.activeDocument.close(SaveOptions.SAVECHANGES);
}

对于(var i=0;如果函数名按以下顺序排列:
chr$i\u$k\u$k
示例:chr1\u start\u a、chr1\u end\u q、chr22\u start\u b等,通常最好添加信息。问题到底是什么?
var doc = app.activeDocument;

function editContent() {

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

function Rename() {
  // Edit Contents
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    executeAction(sTID('placedLayerEditContents'), desc1, dialogMode);
  };

  step1();      // Edit Contents
};

Rename.main = function () {
  Rename();
};

Rename.main();

    }

function merge() {
    var fileRef = File.openDialog ('Choose File', ['*.tif;*tiff'], true);
    app.open( new File( fileRef ) );
    if(app.activeDocument.activeLayer.isBackgroundLayer ) app.activeDocument.activeLayer.name = 'From Background';    
    app.activeDocument.selection.selectAll();
    app.activeDocument.selection.copy();
    app.activeDocument.selection.deselect();


    var idMk = charIDToTypeID( "Mk  " );
    var desc8946 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref1324 = new ActionReference();
        var idBckL = charIDToTypeID( "BckL" );
        ref1324.putClass( idBckL );
    desc8946.putReference( idnull, ref1324 );
    var idUsng = charIDToTypeID( "Usng" );
        var ref1325 = new ActionReference();
        var idLyr = charIDToTypeID( "Lyr " );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idTrgt = charIDToTypeID( "Trgt" );
        ref1325.putEnumerated( idLyr, idOrdn, idTrgt );
    desc8946.putReference( idUsng, ref1325 );
executeAction( idMk, desc8946, DialogModes.NO );



    app.activeDocument.close(SaveOptions.SAVECHANGES);
    app.activeDocument.artLayers.add();
    app.activeDocument.paste();
    app.activeDocument.flatten();
    app.activeDocument.close(SaveOptions.SAVECHANGES);
    }

for (var i=0;i<doc.layers.length;i++){ 
    doc.activeLayer=doc.layers[i];
    editContent();
    merge();
    }