您当前的位置: 首页 > 

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Photoshop插件-证件照-白红蓝底-PS插件-脚本开发

插件开发 发布时间:2022-03-31 08:08:48 ,浏览量:1

文章目录
    • 1.插件界面
    • 2.关键代码
      • 2.1 换白底
      • 2.2 换红底
      • 2.3 换蓝底
    • 3.代码转执行
    • 4.作者答疑
  PS是一款栅格图像编辑软件,模块众多。提供了脚本,动态连接库等多种扩展机制,可以制作证件照,本文演示如何通过脚本实现换底相关功能,展示从互联网收集而来的一个小插件,供大家学习交流,请勿用于商业用途。

1.插件界面

  本文界面是一系列功能的一部分,将逐步展示,但是功能界面是共同的,如下图所示: 在这里插入图片描述

2.关键代码 2.1 换白底

  原理是调用预设1寸裁剪功能,如果读者没有相关文件,可以向作者留言,或在指定链接下载,https://download.csdn.net/download/weixin_42247427/78388222,大家可通过源代码阅读,来掌握相关技巧,源代码如下:

function bai_di() {
    function step1(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("Vrsn"), 5);
        executeAction(sTID("duplicate"), desc1, dialogMode);
    }

    function step2(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan1");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step3(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step4(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 144);
        var desc2 = new ActionDescriptor();
        desc2.putDouble(cTID("Lmnc"), 62.2);
        desc2.putDouble(cTID("A   "), -15.18);
        desc2.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mnm "), cTID("LbCl"), desc2);
        var desc3 = new ActionDescriptor();
        desc3.putDouble(cTID("Lmnc"), 62.2);
        desc3.putDouble(cTID("A   "), -15.18);
        desc3.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mxm "), cTID("LbCl"), desc3);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step5(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step6(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("expand"), desc1, dialogMode);
    }

    function step7(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdSl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step8(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step9(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Rd  "));
        list1.putReference(ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Grn "));
        list1.putReference(ref2);
        var ref3 = new ActionReference();
        ref3.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Bl  "));
        list1.putReference(ref3);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step10(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(sTID("presetKind"), sTID("presetKindType"), sTID("presetKindCustom"));
        var list1 = new ActionList();
        var desc2 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc2.putReference(cTID("Chnl"), ref1);
        var list2 = new ActionList();
        list2.putInteger(20);
        list2.putInteger(88);
        desc2.putList(cTID("Inpt"), list2);
        desc2.putDouble(cTID("Gmm "), 1.72);
        list1.putObject(cTID("LvlA"), desc2);
        desc1.putList(cTID("Adjs"), list1);
        executeAction(sTID("levels"), desc1, dialogMode);
    }

    function step11(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step12(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step13(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("T   "), ref2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step14(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(sTID("smartBrushRadius"), 97);
        desc1.putInteger(sTID("smartBrushSmooth"), 0);
        desc1.putUnitDouble(sTID("smartBrushFeather"), cTID("#Pxl"), 1);
        desc1.putUnitDouble(sTID("smartBrushContrast"), cTID("#Prc"), 0);
        desc1.putUnitDouble(sTID("smartBrushShiftEdge"), cTID("#Prc"), 0);
        desc1.putBoolean(sTID("sampleAllLayers"), false);
        desc1.putBoolean(sTID("smartBrushUseSmartRadius"), true);
        desc1.putBoolean(sTID("smartBrushDecontaminate"), true);
        desc1.putEnumerated(sTID("refineEdgeOutput"), sTID("refineEdgeOutput"), sTID("selectionOutputToNewSheetAndMask"));
        executeAction(sTID("smartBrushWorkspace"), desc1, dialogMode);
    }

    function step15(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step16(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step17(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step18(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step19(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan1");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step20(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step21(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("delete"), desc1, dialogMode);
    }

    function step22(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step23(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 29);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step24(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "白色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step25(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("Clrs"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("reset"), desc1, dialogMode);
    }

    function step26(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("BckC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step27(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 30);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step28(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "红色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step29(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 0);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 71.7647058823529);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step30(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step31(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 31);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step32(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "蓝色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step33(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 200.467529296875);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 100);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step34(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step35(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(10);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step36(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step37(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(11);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step38(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step39(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "蓝色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(12);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step40(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step41(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(9);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step42(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("newPlacedLayer"), undefined, dialogMode);
    }

    function step43(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step44(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("copyToLayer"), undefined, dialogMode);
    }

    function step45(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原人物");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step46(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putIndex(cTID("Lyr "), 6);
        desc1.putReference(cTID("T   "), ref2);
        desc1.putBoolean(cTID("Adjs"), false);
        desc1.putInteger(cTID("Vrsn"), 5);
        var list1 = new ActionList();
        list1.putInteger(37);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("move"), desc1, dialogMode);
    }

    function step47(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdAl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step48(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(24);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step49(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("rasterizeLayer"), desc1, dialogMode);
    }

    function step50(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step51(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step52(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 70);
        desc1.putEnumerated(cTID("Clrs"), cTID("Clrs"), sTID("skinTone"));
        desc1.putBoolean(sTID("UseFacesKey"), true);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step53(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 2);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step54(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("contract"), desc1, dialogMode);
    }

    function step55(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step56(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        ref1.putName(cTID("Lyr "), "还原人物");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step57(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        desc1.putUnitDouble(cTID("Opct"), cTID("#Prc"), 100);
        desc1.putEnumerated(cTID("Md  "), cTID("BlnM"), cTID("Nrml"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step58(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putEnumerated(cTID("T   "), cTID("Ordn"), cTID("None"));
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step59(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step60(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原(白色画笔擦)");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step61(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(5);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step62(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step63(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(12);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step64(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step65(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("flattenImage"), undefined, dialogMode);
    }
    step1();
    step2();
    step3();
    step4(true, true);
    step5();
    step6();
    step7();
    step8();
    step9();
    step10();
    step11();
    step12();
    step13();
    step14();
    step15();
    step16();
    step17();
    step18();
    step19();
    step20();
    step21();
    step22();
    step23();
    step24();
    step25();
    step26();
    step27();
    step28();
    step29();
    step30();
    step31();
    step32();
    step33();
    step34();
    step35();
    step36();
    step37();
    step38();
    step39();
    step40();
    step41();
    step42();
    step43();
    step44();
    step45();
    step46();
    step47();
    step48();
    step49();
    step50();
    step51();
    step52();
    step53();
    step54();
    step55();
    step56();
    step57();
    step58();
    step59();
    step60();
    step61();
    step62();
    step63();
    step64();
    step65();
}
2.2 换红底

  大家可通过源代码阅读,来掌握相关技巧,源代码如下:

function hong_di() {
    function step1(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("Vrsn"), 5);
        executeAction(sTID("duplicate"), desc1, dialogMode);
    }

    function step2(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan1");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step3(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step4(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 144);
        var desc2 = new ActionDescriptor();
        desc2.putDouble(cTID("Lmnc"), 62.2);
        desc2.putDouble(cTID("A   "), -15.18);
        desc2.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mnm "), cTID("LbCl"), desc2);
        var desc3 = new ActionDescriptor();
        desc3.putDouble(cTID("Lmnc"), 62.2);
        desc3.putDouble(cTID("A   "), -15.18);
        desc3.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mxm "), cTID("LbCl"), desc3);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step5(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step6(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("expand"), desc1, dialogMode);
    }

    function step7(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdSl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step8(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step9(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Rd  "));
        list1.putReference(ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Grn "));
        list1.putReference(ref2);
        var ref3 = new ActionReference();
        ref3.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Bl  "));
        list1.putReference(ref3);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step10(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(sTID("presetKind"), sTID("presetKindType"), sTID("presetKindCustom"));
        var list1 = new ActionList();
        var desc2 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc2.putReference(cTID("Chnl"), ref1);
        var list2 = new ActionList();
        list2.putInteger(20);
        list2.putInteger(88);
        desc2.putList(cTID("Inpt"), list2);
        desc2.putDouble(cTID("Gmm "), 1.72);
        list1.putObject(cTID("LvlA"), desc2);
        desc1.putList(cTID("Adjs"), list1);
        executeAction(sTID("levels"), desc1, dialogMode);
    }

    function step11(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step12(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step13(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("T   "), ref2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step14(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(sTID("smartBrushRadius"), 97);
        desc1.putInteger(sTID("smartBrushSmooth"), 0);
        desc1.putUnitDouble(sTID("smartBrushFeather"), cTID("#Pxl"), 1);
        desc1.putUnitDouble(sTID("smartBrushContrast"), cTID("#Prc"), 0);
        desc1.putUnitDouble(sTID("smartBrushShiftEdge"), cTID("#Prc"), 0);
        desc1.putBoolean(sTID("sampleAllLayers"), false);
        desc1.putBoolean(sTID("smartBrushUseSmartRadius"), true);
        desc1.putBoolean(sTID("smartBrushDecontaminate"), true);
        desc1.putEnumerated(sTID("refineEdgeOutput"), sTID("refineEdgeOutput"), sTID("selectionOutputToNewSheetAndMask"));
        executeAction(sTID("smartBrushWorkspace"), desc1, dialogMode);
    }

    function step15(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step16(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step17(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step18(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step19(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan1");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step20(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step21(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("delete"), desc1, dialogMode);
    }

    function step22(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step23(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 29);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step24(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "白色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step25(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("Clrs"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("reset"), desc1, dialogMode);
    }

    function step26(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("BckC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step27(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 30);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step28(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "红色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step29(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 0);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 71.7647058823529);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step30(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step31(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 31);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step32(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "蓝色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step33(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 200.467529296875);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 100);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step34(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step35(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(10);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step36(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step37(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(11);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step38(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step39(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "蓝色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(12);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step40(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step41(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(9);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step42(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("newPlacedLayer"), undefined, dialogMode);
    }

    function step43(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step44(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("copyToLayer"), undefined, dialogMode);
    }

    function step45(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原人物");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step46(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putIndex(cTID("Lyr "), 6);
        desc1.putReference(cTID("T   "), ref2);
        desc1.putBoolean(cTID("Adjs"), false);
        desc1.putInteger(cTID("Vrsn"), 5);
        var list1 = new ActionList();
        list1.putInteger(37);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("move"), desc1, dialogMode);
    }

    function step47(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdAl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step48(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(24);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step49(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("rasterizeLayer"), desc1, dialogMode);
    }

    function step50(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step51(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step52(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 70);
        desc1.putEnumerated(cTID("Clrs"), cTID("Clrs"), sTID("skinTone"));
        desc1.putBoolean(sTID("UseFacesKey"), true);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step53(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 2);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step54(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("contract"), desc1, dialogMode);
    }

    function step55(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step56(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        ref1.putName(cTID("Lyr "), "还原人物");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step57(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        desc1.putUnitDouble(cTID("Opct"), cTID("#Prc"), 100);
        desc1.putEnumerated(cTID("Md  "), cTID("BlnM"), cTID("Nrml"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step58(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putEnumerated(cTID("T   "), cTID("Ordn"), cTID("None"));
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step59(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step60(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原(白色画笔擦)");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step61(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(5);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step62(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step63(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(40);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step64(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(13);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step65(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step66(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("flattenImage"), undefined, dialogMode);
    }
    step1();
    step2();
    step3();
    step4(true, true);
    step5();
    step6();
    step7();
    step8();
    step9();
    step10();
    step11();
    step12();
    step13();
    step14();
    step15();
    step16();
    step17();
    step18();
    step19();
    step20();
    step21();
    step22();
    step23();
    step24();
    step25();
    step26();
    step27();
    step28();
    step29();
    step30();
    step31();
    step32();
    step33();
    step34();
    step35();
    step36();
    step37();
    step38();
    step39();
    step40();
    step41();
    step42();
    step43();
    step44();
    step45();
    step46();
    step47();
    step48();
    step49();
    step50();
    step51();
    step52();
    step53();
    step54();
    step55();
    step56();
    step57();
    step58();
    step59();
    step60();
    step61();
    step62();
    step63();
    step64();
    step65();
    step66();
}
2.3 换蓝底

  大家可通过源代码阅读,来掌握相关技巧,源代码如下:

function lan_di() {
    function step1(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("Vrsn"), 5);
        executeAction(sTID("duplicate"), desc1, dialogMode);
    }

    function step2(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan1");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step3(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Lyr "), cTID("Bckg"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step4(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 144);
        var desc2 = new ActionDescriptor();
        desc2.putDouble(cTID("Lmnc"), 62.2);
        desc2.putDouble(cTID("A   "), -15.18);
        desc2.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mnm "), cTID("LbCl"), desc2);
        var desc3 = new ActionDescriptor();
        desc3.putDouble(cTID("Lmnc"), 62.2);
        desc3.putDouble(cTID("A   "), -15.18);
        desc3.putDouble(cTID("B   "), -48.32);
        desc1.putObject(cTID("Mxm "), cTID("LbCl"), desc3);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step5(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step6(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("expand"), desc1, dialogMode);
    }

    function step7(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdSl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step8(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step9(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Rd  "));
        list1.putReference(ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Grn "));
        list1.putReference(ref2);
        var ref3 = new ActionReference();
        ref3.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Bl  "));
        list1.putReference(ref3);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step10(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(sTID("presetKind"), sTID("presetKindType"), sTID("presetKindCustom"));
        var list1 = new ActionList();
        var desc2 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc2.putReference(cTID("Chnl"), ref1);
        var list2 = new ActionList();
        list2.putInteger(20);
        list2.putInteger(88);
        desc2.putList(cTID("Inpt"), list2);
        desc2.putDouble(cTID("Gmm "), 1.72);
        list1.putObject(cTID("LvlA"), desc2);
        desc1.putList(cTID("Adjs"), list1);
        executeAction(sTID("levels"), desc1, dialogMode);
    }

    function step11(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step12(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step13(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putEnumerated(cTID("Chnl"), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("T   "), ref2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step14(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(sTID("smartBrushRadius"), 97);
        desc1.putInteger(sTID("smartBrushSmooth"), 0);
        desc1.putUnitDouble(sTID("smartBrushFeather"), cTID("#Pxl"), 1);
        desc1.putUnitDouble(sTID("smartBrushContrast"), cTID("#Prc"), 0);
        desc1.putUnitDouble(sTID("smartBrushShiftEdge"), cTID("#Prc"), 0);
        desc1.putBoolean(sTID("sampleAllLayers"), false);
        desc1.putBoolean(sTID("smartBrushUseSmartRadius"), true);
        desc1.putBoolean(sTID("smartBrushDecontaminate"), true);
        desc1.putEnumerated(sTID("refineEdgeOutput"), sTID("refineEdgeOutput"), sTID("selectionOutputToNewSheetAndMask"));
        executeAction(sTID("smartBrushWorkspace"), desc1, dialogMode);
    }

    function step15(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step16(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "Huan");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step17(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step18(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step19(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan1");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step20(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step21(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var list1 = new ActionList();
        list1.putInteger(27);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("delete"), desc1, dialogMode);
    }

    function step22(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step23(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 29);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step24(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "白色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step25(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("Clrs"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("reset"), desc1, dialogMode);
    }

    function step26(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("BckC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step27(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 30);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step28(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "红色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step29(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 0);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 71.7647058823529);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step30(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step31(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putClass(cTID("Lyr "));
        desc1.putReference(cTID("null"), ref1);
        desc1.putInteger(cTID("LyrI"), 31);
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step32(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "蓝色");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step33(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Clr "), cTID("FrgC"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putUnitDouble(cTID("H   "), cTID("#Ang"), 200.467529296875);
        desc2.putDouble(cTID("Strt"), 100);
        desc2.putDouble(cTID("Brgh"), 100);
        desc1.putObject(cTID("T   "), cTID("HSBC"), desc2);
        desc1.putString(cTID("Srce"), "photoshopPicker");
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step34(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step35(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(10);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step36(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step37(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(11);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step38(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step39(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "蓝色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(12);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step40(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step41(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(9);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step42(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("newPlacedLayer"), undefined, dialogMode);
    }

    function step43(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step44(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("copyToLayer"), undefined, dialogMode);
    }

    function step45(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原人物");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step46(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var ref2 = new ActionReference();
        ref2.putIndex(cTID("Lyr "), 6);
        desc1.putReference(cTID("T   "), ref2);
        desc1.putBoolean(cTID("Adjs"), false);
        desc1.putInteger(cTID("Vrsn"), 5);
        var list1 = new ActionList();
        list1.putInteger(37);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("move"), desc1, dialogMode);
    }

    function step47(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putClass(cTID("Nw  "), cTID("Chnl"));
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        desc1.putReference(cTID("At  "), ref1);
        desc1.putEnumerated(cTID("Usng"), cTID("UsrM"), cTID("HdAl"));
        executeAction(sTID("make"), desc1, dialogMode);
    }

    function step48(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "Huan");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(24);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step49(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        executeAction(sTID("rasterizeLayer"), desc1, dialogMode);
    }

    function step50(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "背景");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(1);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step51(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step52(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putInteger(cTID("Fzns"), 70);
        desc1.putEnumerated(cTID("Clrs"), cTID("Clrs"), sTID("skinTone"));
        desc1.putBoolean(sTID("UseFacesKey"), true);
        desc1.putInteger(sTID("colorModel"), 0);
        executeAction(sTID("colorRange"), desc1, dialogMode);
    }

    function step53(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("Rds "), cTID("#Pxl"), 2);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("feather"), desc1, dialogMode);
    }

    function step54(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putUnitDouble(cTID("By  "), cTID("#Pxl"), 1);
        desc1.putBoolean(sTID("selectionModifyEffectAtCanvasBounds"), false);
        executeAction(sTID("contract"), desc1, dialogMode);
    }

    function step55(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        desc1.putBoolean(cTID("TglO"), true);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step56(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
        ref1.putName(cTID("Lyr "), "还原人物");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step57(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        desc1.putEnumerated(cTID("Usng"), cTID("FlCn"), cTID("FrgC"));
        desc1.putUnitDouble(cTID("Opct"), cTID("#Prc"), 100);
        desc1.putEnumerated(cTID("Md  "), cTID("BlnM"), cTID("Nrml"));
        executeAction(sTID("fill"), desc1, dialogMode);
    }

    function step58(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putProperty(cTID("Chnl"), sTID("selection"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putEnumerated(cTID("T   "), cTID("Ordn"), cTID("None"));
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step59(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Chnl"), cTID("Chnl"), sTID("RGB"));
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step60(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        desc1.putReference(cTID("null"), ref1);
        var desc2 = new ActionDescriptor();
        desc2.putString(cTID("Nm  "), "还原(白色画笔擦)");
        desc1.putObject(cTID("T   "), cTID("Lyr "), desc2);
        executeAction(sTID("set"), desc1, dialogMode);
    }

    function step61(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "红色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(5);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step62(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putEnumerated(cTID("Lyr "), cTID("Ordn"), cTID("Trgt"));
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("hide"), desc1, dialogMode);
    }

    function step63(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "白色");
        desc1.putReference(cTID("null"), ref1);
        desc1.putBoolean(cTID("MkVs"), false);
        var list1 = new ActionList();
        list1.putInteger(40);
        desc1.putList(cTID("LyrI"), list1);
        executeAction(sTID("select"), desc1, dialogMode);
    }

    function step64(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        var desc1 = new ActionDescriptor();
        var list1 = new ActionList();
        var ref1 = new ActionReference();
        ref1.putName(cTID("Lyr "), "蓝色");
        list1.putReference(ref1);
        desc1.putList(cTID("null"), list1);
        executeAction(sTID("show"), desc1, dialogMode);
    }

    function step65(enabled, withDialog) {
        if (enabled != undefined && !enabled) {
            return;
        }
        var dialogMode = withDialog ? DialogModes.ALL : DialogModes.NO;
        executeAction(sTID("flattenImage"), undefined, dialogMode);
    }
    step1();
    step2();
    step3();
    step4(true, true);
    step5();
    step6();
    step7();
    step8();
    step9();
    step10();
    step11();
    step12();
    step13();
    step14();
    step15();
    step16();
    step17();
    step18();
    step19();
    step20();
    step21();
    step22();
    step23();
    step24();
    step25();
    step26();
    step27();
    step28();
    step29();
    step30();
    step31();
    step32();
    step33();
    step34();
    step35();
    step36();
    step37();
    step38();
    step39();
    step40();
    step41();
    step42();
    step43();
    step44();
    step45();
    step46();
    step47();
    step48();
    step49();
    step50();
    step51();
    step52();
    step53();
    step54();
    step55();
    step56();
    step57();
    step58();
    step59();
    step60();
    step61();
    step62();
    step63();
    step64();
    step65();
}
3.代码转执行

  使用记事本或者notepad++等文本编辑器,将代码拷贝至文本文件,然后修改后缀名为js或者jsx,最后再PS软件菜单文件》脚本》浏览,点执行即可,也可以将脚本放在预设文件夹内,会显示再脚本下的二级子菜单。如下图所示: 在这里插入图片描述

4.作者答疑

  如有疑问,请留言。

关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.2298s