创建并处理文本图层(); function 创建并处理文本图层() { // 新建图层 var textLayer = activeDocument.artLayers.add(); // 将新建图层变成文本图层 textLayer.kind = LayerKind.TEXT; // 将文本内容改为当前文档name textLayer.textItem.contents = activeDocument.name; // 字体大小固定值 var 固定字体大小 = 30; // 例如,30像素 textLayer.textItem.size = 固定字体大小; // 文字字体固定值 textLayer.textItem.font = "微软雅黑"; // 计算并调整文本位置 var x = activeDocument.width - textLayer.bounds[2]; var y = textLayer.bounds[1]; textLayer.translate(x, -y); // 偏移 textLayer.translate(UnitValue("-1cm"), UnitValue("+0.5cm")); // 复制并栅格化图层 var copyLayer = textLayer.duplicate(); copyLayer.rasterize(RasterizeType.ENTIRELAYER); // 设置固定颜色值 var 固定颜色 = new SolidColor(); 固定颜色.rgb.red = 255; // 红色分量 固定颜色.rgb.green = 255; // 绿色分量 固定颜色.rgb.blue = 255; // 蓝色分量 activeDocument.activeLayer = copyLayer; activeDocument.selection.fill(固定颜色, ColorBlendMode.NORMAL, 100, true); // 白边 activeDocument.activeLayer.applyMinimum(10); 后移一层() 向上选择() 向下合并() 名称更改字体() 缩小字体图层至文档一半() 多选背景() 底对齐() 水平居中对齐() } // 调用函数 function 后移一层() // { var d = new ActionDescriptor(); var r = new ActionReference(); r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum")); d.putReference(stringIDToTypeID("null"), r); var r1 = new ActionReference(); r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("previous")); d.putReference(stringIDToTypeID("to"), r1); executeAction(stringIDToTypeID("move"), d, DialogModes.NO); } function 向上选择() // { var d = new ActionDescriptor(); var r = new ActionReference(); r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("forwardEnum")); d.putReference(stringIDToTypeID("null"), r); d.putBoolean(stringIDToTypeID("makeVisible"), false); var list = new ActionList(); list.putInteger(19); d.putList(stringIDToTypeID("layerID"), list); executeAction(stringIDToTypeID("select"), d, DialogModes.NO); } function 向下合并() //向下合并 { var d = new ActionDescriptor(); executeAction(stringIDToTypeID("mergeLayersNew"), d, DialogModes.NO); } function 名称更改字体() //名称更改 { var d = new ActionDescriptor(); var r = new ActionReference(); r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum")); d.putReference(stringIDToTypeID("null"), r); var d1 = new ActionDescriptor(); d1.putString(stringIDToTypeID("name"), "字体"); d.putObject(stringIDToTypeID("to"), stringIDToTypeID("layer"), d1); executeAction(stringIDToTypeID("set"), d, DialogModes.NO); } function 缩小字体图层至文档一半() { var 文档 = app.activeDocument; var 字体图层 = null; // 遍历文档中的图层以找到名为"字体"的图层 for (var i = 0; i < 文档.artLayers.length; i++) { if (文档.artLayers[i].name === "字体") { 字体图层 = 文档.artLayers[i]; break; } } if (字体图层 !== null) { // 获取文档的宽度的一半 var 目标宽度 = 文档.width / 2; // 获取图层的当前宽度 var 图层宽度 = 字体图层.bounds[2] - 字体图层.bounds[0]; // 计算缩放比例 var 缩放比例 = 目标宽度 / 图层宽度 * 100; // 缩放图层 字体图层.resize(缩放比例, 缩放比例, AnchorPosition.MIDDLECENTER); } else { alert("未找到名为'字体'的图层"); } } function 多选背景() //自由变换 { var d = new ActionDescriptor(); var r = new ActionReference(); r.putName(stringIDToTypeID("layer"), "背景"); d.putReference(stringIDToTypeID("null"), r); d.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection")); d.putBoolean(stringIDToTypeID("makeVisible"), false); var list = new ActionList(); list.putInteger(1); list.putInteger(13); d.putList(stringIDToTypeID("layerID"), list); executeAction(stringIDToTypeID("select"), d, DialogModes.NO); } function 底对齐() //底对齐 { var d = new ActionDescriptor(); var r = new ActionReference(); r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum")); d.putReference(stringIDToTypeID("null"), r); d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("alignDistributeSelector"), stringIDToTypeID("ADSBottoms")); d.putBoolean(stringIDToTypeID("alignToCanvas"), false); executeAction(stringIDToTypeID("align"), d, DialogModes.NO); } function 水平居中对齐() //水平居中对齐 { var d = new ActionDescriptor(); var r = new ActionReference(); r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum")); d.putReference(stringIDToTypeID("null"), r); d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("alignDistributeSelector"), stringIDToTypeID("ADSCentersH")); d.putBoolean(stringIDToTypeID("alignToCanvas"), false); executeAction(stringIDToTypeID("align"), d, DialogModes.NO); }