Files
DP/tempdemo/psmark/JSX5.py

2468 lines
77 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
dxf5_jscode = """
function 图像切割2() {
app.activeDocument.suspendHistory("图像切割", "图像切割()");
}
function 图像切割() {
画布大小()
app.preferences.rulerUnits = Units.PIXELS
var currentDocument = app.activeDocument;
var matchCount = 0; // 匹配到的数值计数
var existingPatternSet = false;
var layerNames = []; // 保存匹配到的图层名称的数组
// 遍历图层
for (var j = 0; j < currentDocument.layers.length; j++) {
var layer = currentDocument.layers[j];
var layerName = layer.name;
// 检查图层名称是否以P开头并且后面跟着数字
if (/^P\d+$/.test(layerName)) {
matchCount++;
layerNames.push(layer); // 将匹配到的图层添加到数组中
}
}
// 输出匹配到的数值个数
// $.writeln("匹配到的数值个数:" + matchCount);
// 遍历匹配到的图层名称
for (var i = 0; i < layerNames.length; i++) {
var layerName = layerNames[i].name;
$.writeln("匹配到的图层名称:" + layerName);
var 当前花样图层 = app.activeDocument.layers.getByName(layerName);
app.activeDocument.activeLayer = 当前花样图层;
切换mask()
载入选区()
var 边距 = 获取当前选区四边距();
var 毫米 = 130;
var 每英寸像素数 = app.activeDocument.resolution; // 获取当前文档的分辨率(每英寸像素数)
var 扩展像素 = 毫米转像素(毫米, 每英寸像素数);
var 裁切上边距= 边距.top-扩展像素
var 裁切左边距= 边距.left-扩展像素
var 裁切下边距= 边距.bottom+扩展像素
var 裁切右边距= 边距.right+扩展像素
var selRegion = [
[裁切左边距,裁切上边距],
[裁切右边距,裁切上边距],
[裁切右边距,裁切下边距],
[裁切左边距,裁切下边距]
];
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
新建图层()
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
var c = new SolidColor();
c.rgb.hexValue = "FFFFFF";
app.activeDocument.selection.fill(c);
后移一层()
app.activeDocument.activeLayer = 当前花样图层;
切换mask()
载入选区()
删除图层蒙版()
创建剪贴蒙版()
向下合并()
添加图层蒙版()
当前图层=app.activeDocument.activeLayer
当前图层.name=layerName
}
}
function 切换mask() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 毫米转像素(毫米, 每英寸像素数) {
var 每英寸毫米数 = 25.4;
var 英寸 = 毫米 / 每英寸毫米数;
return Math.round(英寸 * 每英寸像素数);
}
function 画布大小() //画布大小
{
var d = new ActionDescriptor();
d.putBoolean(stringIDToTypeID("relative"), true);
d.putUnitDouble(stringIDToTypeID("width"), stringIDToTypeID("distanceUnit"), 850.56);
d.putUnitDouble(stringIDToTypeID("height"), stringIDToTypeID("distanceUnit"), 850.56);
d.putEnumerated(stringIDToTypeID("horizontal"), stringIDToTypeID("horizontalLocation"), stringIDToTypeID("center"));
d.putEnumerated(stringIDToTypeID("vertical"), stringIDToTypeID("verticalLocation"), stringIDToTypeID("center"));
executeAction(stringIDToTypeID("canvasSize"), d, DialogModes.NO);
}
function 载入选区() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 获取当前选区四边距() {
var currentDocument = app.activeDocument;
var selectionBounds = currentDocument.selection.bounds;
var top = selectionBounds[1].value;
var left = selectionBounds[0].value;
var bottom = selectionBounds[3].value;
var right = selectionBounds[2].value;
return {
top: top,
left: left,
bottom: bottom,
right: right
};
}
function 新建图层() //新建图层
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("layer"));
d.putReference(stringIDToTypeID("null"), r);
d.putInteger(stringIDToTypeID("layerID"), 135);
executeAction(stringIDToTypeID("make"), 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 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("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("delete"), d, DialogModes.NO);
}
function 载入选区() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 删除图层蒙版() //删除图层蒙版
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("delete"), d, DialogModes.NO);
}
function 向下合并() //向下合并
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("mergeLayersNew"), d, DialogModes.NO);
}
function 添加图层蒙版() //添加图层蒙版
{
var d = new ActionDescriptor();
d.putClass(stringIDToTypeID("new"), stringIDToTypeID("channel"));
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("at"), r);
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("userMaskEnabled"), stringIDToTypeID("revealSelection"));
executeAction(stringIDToTypeID("make"), 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);
executeAction(stringIDToTypeID("groupEvent"), d, DialogModes.NO);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function 花样标准化2() {
app.activeDocument.suspendHistory("花样标准化", "花样标准化()");
}
function 花样标准化()
{
var 扩展毫米数=130
app.preferences.rulerUnits = Units.MM;
裁片组 = app.activeDocument.layerSets;
for(var z=0;z<裁片组.length;z++)
{
当前裁片组 = 裁片组[z];
花样图层 = 当前裁片组.layers[0];
裁片图层 = 当前裁片组.layers[1];
裁片边界 = 裁片图层.bounds;
//~ alert(毫米转像素(50))
//~ 扩展值 = 毫米转像素(50); //50cm
扩展值 = 毫米转像素(扩展毫米数); //50cm
裁片边界_左 = 毫米转像素(裁片边界[0]) - 扩展值;
裁片边界_上 = 毫米转像素(裁片边界[1]) - 扩展值;
裁片边界_右 = 毫米转像素(裁片边界[2]) + 扩展值;
裁片边界_下 = 毫米转像素(裁片边界[3]) + 扩展值;
//左上右下点XY坐标
var selRegion = [
[裁片边界_左,裁片边界_上],
[裁片边界_右,裁片边界_上],
[裁片边界_右,裁片边界_下],
[裁片边界_左,裁片边界_下]
];
app.activeDocument.activeLayer = 花样图层;
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
按选区添加蒙版();
//制作一个白底衬底图
//新建一个图层
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("layer"));
d.putReference(stringIDToTypeID("null"), r);
d.putInteger(stringIDToTypeID("layerID"), 198);
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
白底图层 = app.activeDocument.activeLayer;
白底图层.name = "白底";
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
var c = new SolidColor();
c.rgb.hexValue = "FFFFFF";
app.activeDocument.selection.fill(c);
花样图层.grouped = false;
白底图层.move(花样图层,ElementPlacement.PLACEAFTER);
app.activeDocument.activeLayer = 花样图层;
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "白底");
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelectionContinuous"));
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
app.activeDocument.activeLayer.merge(); //合并当前选择图层
app.activeDocument.activeLayer.grouped = true;
}
}
function 毫米转像素(毫米)
{
//厘米转像素
doc_w = app.activeDocument.width;
//用户设定的厘米数 支持小数
user_mm = UnitValue(毫米,"mm");
user_px = user_mm.as("px")*app.activeDocument.resolution/72;
return user_px;
}
function 按选区添加蒙版() //先创建出选区 然后按选区添加出一个蒙版
{
var d = new ActionDescriptor();
d.putClass(stringIDToTypeID("new"), stringIDToTypeID("channel"));
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("at"), r);
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("userMaskEnabled"), stringIDToTypeID("revealSelection"));
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function 花样标准化3() {
app.activeDocument.suspendHistory("花样标准化扩展值8cm", "花样标准化80()");
}
function 花样标准化80()
{
var 扩展毫米数=80
app.preferences.rulerUnits = Units.MM;
裁片组 = app.activeDocument.layerSets;
for(var z=0;z<裁片组.length;z++)
{
当前裁片组 = 裁片组[z];
花样图层 = 当前裁片组.layers[0];
裁片图层 = 当前裁片组.layers[1];
裁片边界 = 裁片图层.bounds;
//~ alert(毫米转像素(50))
//~ 扩展值 = 毫米转像素(50); //50cm
扩展值 = 毫米转像素(扩展毫米数); //50cm
裁片边界_左 = 毫米转像素(裁片边界[0]) - 扩展值;
裁片边界_上 = 毫米转像素(裁片边界[1]) - 扩展值;
裁片边界_右 = 毫米转像素(裁片边界[2]) + 扩展值;
裁片边界_下 = 毫米转像素(裁片边界[3]) + 扩展值;
//左上右下点XY坐标
var selRegion = [
[裁片边界_左,裁片边界_上],
[裁片边界_右,裁片边界_上],
[裁片边界_右,裁片边界_下],
[裁片边界_左,裁片边界_下]
];
app.activeDocument.activeLayer = 花样图层;
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
按选区添加蒙版();
//制作一个白底衬底图
//新建一个图层
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("layer"));
d.putReference(stringIDToTypeID("null"), r);
d.putInteger(stringIDToTypeID("layerID"), 198);
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
白底图层 = app.activeDocument.activeLayer;
白底图层.name = "白底";
app.activeDocument.selection.select(selRegion, SelectionType.REPLACE);
var c = new SolidColor();
c.rgb.hexValue = "FFFFFF";
app.activeDocument.selection.fill(c);
花样图层.grouped = false;
白底图层.move(花样图层,ElementPlacement.PLACEAFTER);
app.activeDocument.activeLayer = 花样图层;
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "白底");
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelectionContinuous"));
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
app.activeDocument.activeLayer.merge(); //合并当前选择图层
app.activeDocument.activeLayer.grouped = true;
}
}
function 毫米转像素(毫米)
{
//厘米转像素
doc_w = app.activeDocument.width;
//用户设定的厘米数 支持小数
user_mm = UnitValue(毫米,"mm");
user_px = user_mm.as("px")*app.activeDocument.resolution/72;
return user_px;
}
function 按选区添加蒙版() //先创建出选区 然后按选区添加出一个蒙版
{
var d = new ActionDescriptor();
d.putClass(stringIDToTypeID("new"), stringIDToTypeID("channel"));
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("at"), r);
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("userMaskEnabled"), stringIDToTypeID("revealSelection"));
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数
function 花样图层导出() {
var 导出目录 = Folder.selectDialog("选择外链素材目录");
if (!导出目录) {
alert("未选择导出目录。操作已取消。");
return;
}
花样图层导出为TIF(导出目录);
花样图层替换为外链智能对象(导出目录);
}
function 花样图层导出为TIF(导出目录) {
裁片组 = app.activeDocument.layerSets;
for (var i = 0; i < 裁片组.length; i++) {
app.activeDocument.duplicate("temp");
复制文档裁片组 = app.activeDocument.layerSets;
当前裁片组 = 复制文档裁片组[i];
当前裁片组名 = 当前裁片组.name;
花样图层 = 当前裁片组.layers[0];
裁片图层 = 当前裁片组.layers[1];
app.activeDocument.activeLayer = 花样图层;
// 把花样图层导出
花样图层.grouped = false; // 取消图层链接
仅当前图层可见();
// 按花样图层大小裁剪文档
app.activeDocument.crop(花样图层.bounds, 0);
// 拼合图像只保留花样图层
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("flattenImage"), d, DialogModes.NO);
// 保存为TIF
var 文件路径 = 导出目录 + "/" + 当前裁片组名 + ".tif";
tiffOptions = new TiffSaveOptions();
app.activeDocument.saveAs(new File(文件路径), tiffOptions);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
function 花样图层替换为外链智能对象(外链素材目录) {
裁片组 = app.activeDocument.layerSets;
for (var i = 0; i < 裁片组.length; i++) {
当前裁片组 = 裁片组[i];
裁片组名 = 当前裁片组.name;
花样图层 = 当前裁片组.layers[0];
裁片图层 = 当前裁片组.layers[1];
app.activeDocument.activeLayer = 花样图层;
置入链接的智能对象(外链素材目录 + "/" + 裁片组名 + ".tif");
外链花样图层 = app.activeDocument.activeLayer;
// 置入之后要跟原来的花样图层中心对齐
花样图层_中心x = (花样图层.bounds[2] + 花样图层.bounds[0]) / 2;
花样图层_中心y = (花样图层.bounds[3] + 花样图层.bounds[1]) / 2;
外链花样图层_中心x = (外链花样图层.bounds[2] + 外链花样图层.bounds[0]) / 2;
外链花样图层_中心y = (外链花样图层.bounds[3] + 外链花样图层.bounds[1]) / 2;
中心x差值 = 花样图层_中心x - 外链花样图层_中心x;
中心y差值 = 花样图层_中心y - 外链花样图层_中心y;
外链花样图层.translate(中心x差值, 中心y差值);
app.activeDocument.activeLayer.grouped = true;
花样图层.remove(); // 删除之前的花样图层
}
}
function 置入链接的智能对象(图片路径) {
if (!图片路径) {
return;
}
var d = new ActionDescriptor();
d.putInteger(stringIDToTypeID("ID"), 186);
d.putPath(stringIDToTypeID("null"), new File(图片路径));
d.putBoolean(stringIDToTypeID("linked"), true);
d.putEnumerated(stringIDToTypeID("freeTransformCenterState"), stringIDToTypeID("quadCenterState"), stringIDToTypeID("QCSAverage"));
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("horizontal"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("vertical"), stringIDToTypeID("distanceUnit"), 0);
d.putObject(stringIDToTypeID("offset"), stringIDToTypeID("offset"), d1);
executeAction(stringIDToTypeID("placeEvent"), d, DialogModes.NO);
}
function 仅当前图层可见() //图层可见性
{
var d = new ActionDescriptor();
var list = new ActionList();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
list.putReference(r);
d.putList(stringIDToTypeID("null"), list);
d.putBoolean(stringIDToTypeID("toggleOptionsPalette"), true);
executeAction(stringIDToTypeID("show"), d, DialogModes.NO);
}
// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数// 调用函数
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function 替换外链新(){
var dialog = new Window("dialog");
dialog.text = "快速换图";
dialog.orientation = "row";
dialog.alignChildren = ["left","top"];
dialog.spacing = 10;
dialog.margins = 16;
// GROUP1
// ======
var group1 = dialog.add("group", undefined, {name: "group1"});
group1.preferredSize.width = 183;
group1.orientation = "column";
group1.alignChildren = ["fill","top"];
group1.spacing = 10;
group1.margins = 0;
// PANEL1
// ======
var panel1 = group1.add("panel", undefined, undefined, {name: "panel1"});
panel1.text = "文件夹选择";
panel1.preferredSize.height = 205;
panel1.orientation = "column";
panel1.alignChildren = ["left","top"];
panel1.spacing = 10;
panel1.margins = 10;
var statictext1 = panel1.add("statictext", undefined, undefined, {name: "statictext1"});
statictext1.text = "大货裁片模板路径:";
var button1 = panel1.add("button", undefined, undefined, {name: "button1"});
button1.text = "路径选择";
button1.preferredSize.width = 300;
var statictext2 = panel1.add("statictext", undefined, undefined, {name: "statictext2"});
statictext2.text = "切片裁片路径选择:";
var button2 = panel1.add("button", undefined, undefined, {name: "button2"});
button2.text = "路径选择";
button2.preferredSize.width = 300;
// PANEL2
// ======
var panel2 = panel1.add("panel", undefined, undefined, {name: "panel2"});
panel2.text = "款号修改:";
panel2.orientation = "column";
panel2.alignChildren = ["left","top"];
panel2.spacing = 10;
panel2.margins = 10;
var edittext1 = panel2.add('edittext {properties: {name: "edittext1"}}');
edittext1.preferredSize.width = 200;
// PANEL4
// ======
var statictext11 = panel2.add("statictext", undefined, undefined, {name: "statictext11"});
statictext11.text = "是否拼合裁片组:";
var checkbox1 =panel2.add("checkbox", undefined, undefined, {name: "checkbox1"});
checkbox1.value = true;
checkbox1.text = "拼合";
/*
var statictext12 = panel2.add("statictext", undefined, undefined, {name: "statictext12"});
statictext12.text = "有袋修改:";
var checkbox2 =panel2.add("checkbox", undefined, undefined, {name: "checkbox2"});
checkbox2.value = false;
checkbox2.text = "有袋";
*/
var statictext13 = panel2.add("statictext", undefined, undefined, {name: "statictext13"});
statictext13.text = "存储位置:";
var checkbox3 =panel2.add("checkbox", undefined, undefined, {name: "checkbox3"});
checkbox3.value = false;
checkbox3.text = "模板位置";
// GROUP2
// ======
var group2 = dialog.add("group", undefined, {name: "group2"});
group2.orientation = "column";
group2.alignChildren = ["fill","top"];
group2.spacing = 10;
group2.margins = 0;
var ok = group2.add("button", undefined, undefined, {name: "ok"});
ok.text = "执行";
var cancel = group2.add("button", undefined, undefined, {name: "cancel"});
cancel.text = "取消";
var button3 = group2.add("button", undefined, undefined, {name: "button3"});
button3.text = "关于我们";
button1.onClick=function(){
button1.text =Folder.selectDialog ("大货裁片模板路径:").fsName;
}
button2.onClick=function(){
button2.text =Folder.selectDialog ("切片裁片路径选择:").fsName;
}
button3.onClick = function () {
alert("自由花型工作室 17520145271 脚本开发 裁片排版 花型开发 ",dialog.text+"----关于我们");
}
ok .onClick=function(){
//~ //~ if (myEditText!="") {
var myFolder=new Folder(button1.text)
//打开文件夹中的每一个文件开始处理
var myFiles=myFolder.getFiles ("*.tif*")
for(i=0 ;i< myFiles.length;i++){
//开始处理每一个文件
//断判是文件格式
if(myFiles[i] instanceof File)
app.open(myFiles[i])
var 款号面料=String (edittext1.text); //宽;
var 文件夹路径=button2.text
更换当前文档裁片组外链(文件夹路径)
图层选择()
activeDocument.activeLayer.textItem.contents=款号面料
选择裁片图层()
if( checkbox1.value == true)
{
合并图层()
}
else
{
;
}
/*
if( checkbox2.value == false)
{
无袋修改();
}
else
{
有袋修改();
}
*/
if( checkbox3.value == false)
{
另存为(文件夹路径,款号面料);
}
else
{
存储在原来位置(myFolder);
}
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
alert("换图完成,请检查好文件进行打印大货!!!",dialog.text+"----关于");
dialog.close();
function 更换当前文档裁片组外链(文件夹路径)
{
try
{
裁片组 = app.activeDocument.layerSets.getByName("裁片").layers;
}
catch(e)
{
alert("找不到裁片组",dialog.text+"----提示");
}
for(var i=0;i<裁片组.length;i++)
{
裁片 = 裁片组[i];
app.activeDocument.activeLayer = 裁片;
if(裁片.kind == LayerKind.SMARTOBJECT)
{
更换链接智能对象路径(文件夹路径);
}
}
}
function 更换链接智能对象路径(文件夹路径)
{
//获取当前图层外链的智能对象路径
//先获取链接的文件名
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
//~ r.putName(charIDToTypeID("Lyr "), "◆左袖口"); //按名称查找
descLayer = executeActionGet(r);
res = descLayer.getObjectValue(stringIDToTypeID("smartObject"));
链接文件名 = res.getString(stringIDToTypeID("fileReference"));
//$.writeln(链接文件名);
//~ 链接文件路径 = res.getPath(stringIDToTypeID("link"));
//~ $.writeln(链接文件路径);
图片路径 = 文件夹路径 + "/" + 链接文件名;
var d = new ActionDescriptor();
d.putPath(stringIDToTypeID("null"), new File(图片路径));
executeAction(stringIDToTypeID("placedLayerRelinkToFile"), d, DialogModes.NO);
}
function 另存为(文件夹路径,款号面料)
{
文档名称=activeDocument.name.replace(/(?:\.[^.]*$|$)/, '');
saveIn=File(文件夹路径+ "/"+文档名称+"-"+款号面料);
tifSaveOpt = new TiffSaveOptions();
tifSaveOpt.imageCompression = TIFFEncoding.TIFFLZW;
tifSaveOpt.byteOrder = ByteOrder.IBM;
asCopy=true
app.activeDocument.saveAs(saveIn,tifSaveOpt,asCopy);
}
function 图层选择() //
{
try {
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "款号");
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(74);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (e) {
alert("找不到款号图层",dialog.text+"----关于");
}
}
///////////////////////////////////////////////////////////////////////////////
function 合并图层() //合并图层
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("mergeLayersNew"), d, DialogModes.NO);
}
function 选择裁片图层() //
{
try {
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "裁片");
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(74);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (e) {
alert("找不到裁片图层",dialog.text+"----关于");
}
}
}
function 有袋修改()
{
选择点位()
var 当前图层=app.activeDocument.activeLayer
var 当前图层名称=当前图层.name
if( 当前图层名称=="口袋点位")
显示图层()
选择口袋遮挡()
if( 当前图层名称=="口袋遮挡")
隐藏图层遮挡()
隐藏图层遮挡()
// 提示();
}
function 无袋修改()
{
选择点位()
var 当前图层=app.activeDocument.activeLayer
var 当前图层名称=当前图层.name
if( 当前图层名称=="口袋点位");
隐藏口袋点位()
选择口袋遮挡();
if( 当前图层名称=="口袋遮挡");
显示图层();
//提示();
}
function 选择点位() //
{
try {
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "口袋点位");
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(32);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (e) {
}
}
function 显示图层() //名称更改
{
try {
var d = new ActionDescriptor();
var list = new ActionList();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
list.putReference(r);
d.putList(stringIDToTypeID("null"), list);
executeAction(stringIDToTypeID("show"), d, DialogModes.NO);
}
catch (e) {
}
}
function 选择口袋遮挡() //
{
try {
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "口袋遮挡");
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(32);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
catch (e) {
}
}
function 隐藏图层遮挡() //
{
try {
var d = new ActionDescriptor();
var list = new ActionList();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "口袋遮挡");
list.putReference(r);
d.putList(stringIDToTypeID("null"), list);
executeAction(stringIDToTypeID("hide"), d, DialogModes.NO);
}
catch (e) {
}
}
function 隐藏口袋点位() //
{
try {
var d = new ActionDescriptor();
var list = new ActionList();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), "口袋点位");
list.putReference(r);
d.putList(stringIDToTypeID("null"), list);
executeAction(stringIDToTypeID("hide"), d, DialogModes.NO);
}
catch (e) {
}
}
function 存储在原来位置(文件路径)
{
tiffOptions = new TiffSaveOptions();
try
{
app.activeDocument.saveAs(new File(文件路径), tiffOptions);
}
catch(e)
{
alert(文件太大无法保存)
}
}
dialog.show()
//给领海数码修改的by2023/6/19 景鸣
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function 裁片射出模板() {
var 主文档 = app.activeDocument;
var 主文档名称 = 主文档.name;
// 遍历当前打开的文档
for (var i = 0; i < app.documents.length; i++) {
var document = app.documents[i];
var documentName = document.name;
// 判断文档名称是否与主文档名称不相同
if (documentName !== 主文档名称) {
app.activeDocument = document;
遍历图层();
}
}
function 遍历图层() {
var layerNames = []; // 用于存储图层名称的数组
var currentDocument = app.activeDocument;
var 文档名称 = currentDocument.name;
for (var j = 0; j < currentDocument.layers.length; j++) {
var layer = currentDocument.layers[j];
var layerName = layer.name;
layerNames.push(layerName);
}
// 逐个处理图层
for (var k = 0; k < layerNames.length; k++) {
var 当前图层名称 = layerNames[k];
var parts = 当前图层名称.split("-");
if (parts.length > 0) {
var 裁片名称 = parts[0];
app.activeDocument = 主文档;
前景色修改()
初始化模板裁片名称 = 当前图层名称.split("-");
初始化码数裁片名称 = 当前图层名称.split("_");
大货组名称 = 初始化模板裁片名称[0] + "-大货裁片";
实际裁片名称 = 初始化模板裁片名称[0] + "-" + 初始化码数裁片名称[2];
var 空白裁片模板 = app.activeDocument.layerSets.getByName(大货组名称).layers.getByName(实际裁片名称);
app.activeDocument.activeLayer = 空白裁片模板;
载入选区();
var 裁片 = app.activeDocument.layers.getByName(裁片名称);
app.activeDocument.activeLayer = 裁片;
主界面切换();
添加图层蒙版();
var 新名称 = "通码-" +当前图层名称;
app.activeDocument.activeLayer.name = 新名称;
复制到文档(新名称, 文档名称);
历史记录回退();
app.activeDocument = currentDocument;
var 裁片名称 = 当前图层名称.split("_");
if (裁片名称.length > 1) {
var 角度信息 = 裁片名称[1];
if (角度信息 === "180" || 角度信息 === "-180") {
app.activeDocument.activeLayer.rotate(180);
} else if (角度信息 === "-90") {
逆时针90旋转();
} else if (角度信息 === "90") {
顺时针90旋转();
} else {
// 如果以上条件都不满足,则执行默认的代码
}
}
图层选择(当前图层名称);
app.preferences.rulerUnits = Units.MM;
当前图层 = app.activeDocument.activeLayer;
当前图层的底边 = 当前图层.bounds[3];
当前图层的上边 = 当前图层.bounds[1];
当前图层的高度 = 当前图层的底边 - 当前图层的上边;
当前图层的左边 = 当前图层.bounds[0];
当前图层的右边 = 当前图层.bounds[2];
当前图层的宽度 = 当前图层的右边 - 当前图层的左边;
当前图层的高度的一半 = 当前图层的高度 / 2;
当前图层的宽度的一半 = 当前图层的宽度 / 2;
当前图层的高度中心 = 当前图层的上边 + 当前图层的高度的一半;
当前图层的宽度中心 = 当前图层的左边 + 当前图层的宽度的一半;
var 成品裁片 = app.activeDocument.layers.getByName(新名称);
app.activeDocument.activeLayer = 成品裁片;
alb = app.activeDocument.activeLayer.bounds;
当前x = (alb[0] + alb[2]) / 2;
当前y = (alb[1] + alb[3]) / 2;
置为顶层();
app.activeDocument.activeLayer.translate(Number(当前图层的宽度中心) - Number(当前x), Number(当前图层的高度中心) - Number(当前y));
}
}
烧花线添加();
空置图层()
查找通码图层2()
}
//alert("排版完成,请检查文件!!!");
app.activeDocument = 主文档;
}
function 粘贴图层() //粘贴图层
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("paste"), 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);
executeAction(stringIDToTypeID("selectNoLayers"), d, DialogModes.NO);
}
function 获取当前图层信息() {
var 当前图层 = app.activeDocument.activeLayer;
var 底边 = 当前图层.bounds[3];
var 上边 = 当前图层.bounds[1];
var 高度 = 底边 - 上边;
var 左边 = 当前图层.bounds[0];
var 右边 = 当前图层.bounds[2];
var 宽度 = 右边 - 左边;
var 高度的一半 = 高度 / 2;
var 宽度的一半 = 宽度 / 2;
var 高度中心 = 上边 + 高度的一半;
var 宽度中心 = 左边 + 宽度的一半;
return {
底边: 底边,
上边: 上边,
高度: 高度,
左边: 左边,
右边: 右边,
宽度: 宽度,
高度的一半: 高度的一半,
宽度的一半: 宽度的一半,
高度中心: 高度中心,
宽度中心: 宽度中心
};
}
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.putName(stringIDToTypeID("document"), "M.psd");
d.putReference(stringIDToTypeID("to"), r1);
d.putString(stringIDToTypeID("name"), "P1");
d.putInteger(stringIDToTypeID("version"), 5);
var list = new ActionList();
list.putInteger(12);
d.putList(stringIDToTypeID("ID"), list);
executeAction(stringIDToTypeID("duplicate"), d, DialogModes.NO);
}
function 复制图层() //复制图层
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("copyEvent"), d, DialogModes.NO);
}
function 载入蒙版选区() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 前景色修改() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("color"), stringIDToTypeID("foregroundColor"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putDouble(stringIDToTypeID("cyan"), 20);
d1.putDouble(stringIDToTypeID("magenta"), 0);
d1.putDouble(stringIDToTypeID("yellowColor"), 0);
d1.putDouble(stringIDToTypeID("black"), 0);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("CMYKColorClass"), d1);
d.putString(stringIDToTypeID("source"), "photoshopPicker");
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 取消选择() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("to"), stringIDToTypeID("ordinal"), stringIDToTypeID("none"));
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 图层选择(当前图层名称) //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), 当前图层名称);
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(6);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 图层选择2(新图层名称) //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putName(stringIDToTypeID("layer"), 新图层名称);
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
var list = new ActionList();
list.putInteger(6);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 载入选区() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("transparencyEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), 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("freeTransformCenterState"), stringIDToTypeID("quadCenterState"), stringIDToTypeID("QCSAverage"));
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("horizontal"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("vertical"), stringIDToTypeID("distanceUnit"), 0);
d.putObject(stringIDToTypeID("offset"), stringIDToTypeID("offset"), d1);
d.putUnitDouble(stringIDToTypeID("width"), stringIDToTypeID("percentUnit"), -100);
d.putUnitDouble(stringIDToTypeID("height"), stringIDToTypeID("percentUnit"), -100);
d.putBoolean(stringIDToTypeID("linked"), true);
d.putEnumerated(charIDToTypeID("Intr"), stringIDToTypeID("interpolationType"), stringIDToTypeID("nearestNeighbor"));
executeAction(stringIDToTypeID("transform"), 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(8);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 添加图层蒙版() //添加图层蒙版
{
var d = new ActionDescriptor();
d.putClass(stringIDToTypeID("new"), stringIDToTypeID("channel"));
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("at"), r);
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("userMaskEnabled"), stringIDToTypeID("revealSelection"));
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
function 应用图层蒙版() //应用图层蒙版
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("apply"), true);
executeAction(stringIDToTypeID("delete"), 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 r1 = new ActionReference();
r1.putName(stringIDToTypeID("document"), 文档名称);
d.putReference(stringIDToTypeID("to"), r1);
d.putString(stringIDToTypeID("name"), 新名称);
d.putInteger(stringIDToTypeID("version"), 5);
var list = new ActionList();
list.putInteger(12);
d.putList(stringIDToTypeID("ID"), list);
executeAction(stringIDToTypeID("duplicate"), d, DialogModes.NO);
}
function 切换图层蒙版() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 主界面切换() {
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("CMYK"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
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);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("front"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("move"), d, DialogModes.NO);
}
function 拼合所有蒙版() //拼合所有蒙版
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("document"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("e805a6ee-6d75-4b62-b6fe-f5873b5fdf20"), d, DialogModes.NO);
}
function 选择蒙版() //选择蒙版
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 历史记录回退() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putOffset(stringIDToTypeID("historyState"), -3);
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 烧花线添加() {
app.activeDocument.suspendHistory("烧花线添加", "烧花线()");
function 烧花线() {
// 遍历当前文档图层
var doc = app.activeDocument;
var layers = doc.layers;
var filteredLayers = [];
// 遍历图层筛选以P开头的图层
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
if (layer.name.charAt(0) === 'P') {
filteredLayers.push(layer);
}
}
空置图层()
// 输出图层名称
for (var j = 0; j < filteredLayers.length; j++) {
var filteredLayer = filteredLayers[j];
var 裁片底图名称=filteredLayer.name;
多选图层(裁片底图名称);
// alert(filteredLayer.name);
}
合并图层();
置为顶层();
画布大小();
var layer = app.activeDocument.activeLayer;
layer.name = "底图";
恢复默认颜色()
矩形选框像素点()
//色彩范围()
填充();
魔棒烧花线()
新建图层()
var layer2 = app.activeDocument.activeLayer;
layer2.name = "剪口";
扩展2();
恢复止口线默认颜色()
填充();
矩形选框准备删除()
清除();
魔棒();
扩展();
选择反向();
清除();
var 底图 = app.activeDocument.layers.getByName( "底图");
app.activeDocument.activeLayer=底图;
矩形选框准备删除()
清除();
置为底层()
图层样式()
取消选择()
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(4);
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);
executeAction(stringIDToTypeID("selectNoLayers"), d, DialogModes.NO);
}
function 恢复止口线默认颜色() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("color"), stringIDToTypeID("foregroundColor"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putDouble(stringIDToTypeID("cyan"), 20);
d1.putDouble(stringIDToTypeID("magenta"), 0);
d1.putDouble(stringIDToTypeID("yellowColor"), 0);
d1.putDouble(stringIDToTypeID("black"), 0);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("CMYKColorClass"), d1);
d.putString(stringIDToTypeID("source"), "photoshopPicker");
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 合并图层() //合并图层
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("mergeLayersNew"), d, DialogModes.NO);
}
function 恢复默认颜色() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("color"), stringIDToTypeID("colors"));
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("reset"), d, DialogModes.NO);
}
function 魔棒烧花线() //魔棒
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("horizontal"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("vertical"), stringIDToTypeID("distanceUnit"), 0);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("point"), d1);
d.putInteger(stringIDToTypeID("tolerance"), 6);
d.putBoolean(stringIDToTypeID("contiguous"), false);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 矩形选框像素点() //矩形选框
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("top"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("left"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("bottom"), stringIDToTypeID("distanceUnit"), 0.48);
d1.putUnitDouble(stringIDToTypeID("right"), stringIDToTypeID("distanceUnit"), 0.48);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("rectangle"), d1);
executeAction(stringIDToTypeID("set"), 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 r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("back"));
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("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("front"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("move"), d, DialogModes.NO);
}
function 色彩范围() //色彩范围
{
var d = new ActionDescriptor();
d.putInteger(stringIDToTypeID("fuzziness"), 40);
var d1 = new ActionDescriptor();
d1.putDouble(stringIDToTypeID("luminance"), 0);
d1.putDouble(stringIDToTypeID("a"), 0);
d1.putDouble(stringIDToTypeID("b"), 0);
d.putObject(stringIDToTypeID("minimum"), stringIDToTypeID("labColor"), d1);
var d2 = new ActionDescriptor();
d2.putDouble(stringIDToTypeID("luminance"), 0);
d2.putDouble(stringIDToTypeID("a"), 0);
d2.putDouble(stringIDToTypeID("b"), 0);
d.putObject(stringIDToTypeID("maximum"), stringIDToTypeID("labColor"), d2);
d.putInteger(stringIDToTypeID("colorModel"), 0);
executeAction(stringIDToTypeID("colorRange"), d, DialogModes.NO);
}
function 新建图层() //新建图层
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("layer"));
d.putReference(stringIDToTypeID("null"), r);
d.putInteger(stringIDToTypeID("layerID"), 33);
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
function 扩展2() //扩展
{
var d = new ActionDescriptor();
d.putUnitDouble(stringIDToTypeID("by"), stringIDToTypeID("pixelsUnit"), 2);
d.putBoolean(stringIDToTypeID("selectionModifyEffectAtCanvasBounds"), false);
executeAction(stringIDToTypeID("expand"), d, DialogModes.NO);
}
function 填充() //填充
{
var d = new ActionDescriptor();
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("fillContents"), stringIDToTypeID("foregroundColor"));
d.putUnitDouble(stringIDToTypeID("opacity"), stringIDToTypeID("percentUnit"), 100);
d.putEnumerated(stringIDToTypeID("mode"), stringIDToTypeID("blendMode"), stringIDToTypeID("normal"));
executeAction(stringIDToTypeID("fill"), d, DialogModes.NO);
}
function 画布大小() //画布大小
{
var d = new ActionDescriptor();
d.putBoolean(stringIDToTypeID("relative"), true);
d.putUnitDouble(stringIDToTypeID("width"), stringIDToTypeID("distanceUnit"), 40);
d.putUnitDouble(stringIDToTypeID("height"), stringIDToTypeID("distanceUnit"), 40);
d.putEnumerated(stringIDToTypeID("horizontal"), stringIDToTypeID("horizontalLocation"), stringIDToTypeID("center"));
d.putEnumerated(stringIDToTypeID("vertical"), stringIDToTypeID("verticalLocation"), stringIDToTypeID("center"));
executeAction(stringIDToTypeID("canvasSize"), d, DialogModes.NO);
}
function 魔棒() //魔棒
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("horizontal"), stringIDToTypeID("pixelsUnit"), 3);
d1.putUnitDouble(stringIDToTypeID("vertical"), stringIDToTypeID("pixelsUnit"), 3);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("point"), d1);
d.putInteger(stringIDToTypeID("tolerance"), 6);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 矩形选框准备删除() //矩形选框
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("top"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("left"), stringIDToTypeID("distanceUnit"), 0);
d1.putUnitDouble(stringIDToTypeID("bottom"), stringIDToTypeID("distanceUnit"), 0.96);
d1.putUnitDouble(stringIDToTypeID("right"), stringIDToTypeID("distanceUnit"), 0.96);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("rectangle"), d1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 扩展() //扩展
{
var d = new ActionDescriptor();
d.putUnitDouble(stringIDToTypeID("by"), stringIDToTypeID("pixelsUnit"), 25);
d.putBoolean(stringIDToTypeID("selectionModifyEffectAtCanvasBounds"), false);
executeAction(stringIDToTypeID("expand"), d, DialogModes.NO);
}
function 选择反向() //选择反向
{
var d = new ActionDescriptor();
executeAction(stringIDToTypeID("inverse"), d, DialogModes.NO);
}
function 清除() //清除
{
app.activeDocument.selection.clear();
}
function 图层样式() //图层样式
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("property"), stringIDToTypeID("layerEffects"));
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("scale"), stringIDToTypeID("percentUnit"), 12);
var d2 = new ActionDescriptor();
d2.putBoolean(stringIDToTypeID("enabled"), true);
d2.putBoolean(stringIDToTypeID("present"), true);
d2.putBoolean(stringIDToTypeID("showInDialog"), true);
d2.putEnumerated(stringIDToTypeID("style"), stringIDToTypeID("frameStyle"), stringIDToTypeID("outsetFrame"));
d2.putEnumerated(stringIDToTypeID("paintType"), stringIDToTypeID("frameFill"), stringIDToTypeID("solidColor"));
d2.putEnumerated(stringIDToTypeID("mode"), stringIDToTypeID("blendMode"), stringIDToTypeID("normal"));
d2.putUnitDouble(stringIDToTypeID("opacity"), stringIDToTypeID("percentUnit"), 100);
d2.putUnitDouble(stringIDToTypeID("size"), stringIDToTypeID("pixelsUnit"), 16);
var d3 = new ActionDescriptor();
d3.putDouble(stringIDToTypeID("red"), 255);
d3.putDouble(stringIDToTypeID("green"), 0);
d3.putDouble(stringIDToTypeID("blue"), 0);
d2.putObject(stringIDToTypeID("color"), stringIDToTypeID("RGBColor"), d3);
d2.putBoolean(stringIDToTypeID("overprint"), false);
d1.putObject(stringIDToTypeID("frameFX"), stringIDToTypeID("frameFX"), d2);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("layerEffects"), d1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 取消选择() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("to"), stringIDToTypeID("ordinal"), stringIDToTypeID("none"));
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
}
}
function 查找通码图层2() {
app.activeDocument.suspendHistory("印花图层打包", "查找通码图层()");
}
function 查找通码图层() {
function 查找通码图层() {
var 当前文档 = app.activeDocument;
var 包含通码的图层数组 = [];
for (var i = 0; i < 当前文档.layers.length; i++) {
var 图层 = 当前文档.layers[i];
if (图层.name.indexOf("通码") !== -1) {
包含通码的图层数组.push(图层.name);
}
}
return 包含通码的图层数组;
}
// 调用函数来查找包含通码的图层名称并放入数组
var 通码图层数组 = 查找通码图层();
// 打印包含通码的图层名称数组
for (var j = 0; j < 通码图层数组.length; j++) {
var 成品裁片图层通码=通码图层数组[j]
多选图层2(成品裁片图层通码)
//$.writeln("包含通码的图层名称:" + 通码图层数组[j]);
}
图层编组()
名称更改()
function 多选图层2(成品裁片图层通码) //
{
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(4);
d.putList(stringIDToTypeID("layerID"), list);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 图层编组() //图层编组
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("layerSection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("from"), r1);
d.putInteger(stringIDToTypeID("layerSectionStart"), 22);
d.putInteger(stringIDToTypeID("layerSectionEnd"), 23);
d.putString(stringIDToTypeID("name"), "组 1");
executeAction(stringIDToTypeID("make"), 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);
executeAction(stringIDToTypeID("selectNoLayers"), 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 下摆对齐2() {
app.activeDocument.suspendHistory("下摆对齐", "下摆对齐()");
}
function 下摆对齐() {
var groupName = 获取当前图层组名称();
if (groupName !== null) {
app.preferences.rulerUnits = Units.PIXELS;
var splitGroupName = groupName.split("-");
var firstPart = splitGroupName[0];
} else {
// 如果未获取到当前图层组名称,退出程序
// alert("未获取到当前图层组名称!");
return;
}
try {
当前花样图层 = app.activeDocument.layers.getByName(firstPart);
} catch (e) {
// 处理异常情况
alert("没有找到对应的花样裁片: ");
return; // 中断函数执行
}
app.activeDocument.activeLayer = 当前花样图层;
切换mask();
载入选区蒙版()
// 应用图层蒙版();
// 载入选区();
var 边距 = 获取当前选区四边距();
var 获取左右的中心坐标 = (边距.right - 边距.left) / 2 + 边距.left;
$.writeln("中心坐标=" + 获取左右的中心坐标);
var currentDocument = app.activeDocument;
var height = currentDocument.height.value;
var 上边距新 = 0;
var 左边距新 = 获取左右的中心坐标 ;
var 下边距新 = height;
var 右边距新 = 获取左右的中心坐标 + 1;
var 边距 = 获取当前选区四边距();
$.writeln("上边距:" + 边距.top);
$.writeln("左边距:" + 边距.left);
$.writeln("下边距:" + 边距.bottom);
$.writeln("右边距:" + 边距.right);
//历史记录回退领口函数();
新建选区(上边距新, 左边距新, 下边距新, 右边距新);
app.activeDocument.activeLayer = 当前花样图层;
切换mask();
选区减去();
领窝边距 = 获取当前选区四边距();
获取到花样图层当前居中领口y坐标信息 = 领窝边距.bottom;
获取到花样图层当前居中领口x坐标信息 = 领窝边距.left;
$.writeln("居中领口y坐标信息" + 获取到花样图层当前居中领口y坐标信息);
$.writeln("居中领口x坐标信息" + 获取到花样图层当前居中领口x坐标信息);
//////////////////////以上的是获取花样的的中心坐标信息
var currentDocument = app.activeDocument;
var targetLayerSet = currentDocument.layerSets.getByName(groupName);
if (targetLayerSet) {
var layers = targetLayerSet.layers;
if (layers.length > 0) {
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
var 裁片图层 = layer.name;
$.writeln("裁片图层坐标信息=" + 裁片图层);
try {
var 当前裁片图层 = app.activeDocument.layerSets.getByName(groupName).layers.getByName(裁片图层);
} catch (e) {
// 处理异常情况
alert("没有找到对应的花样裁片 " );
return; // 中断函数执行
}
app.activeDocument.activeLayer = 当前裁片图层;
var selectedLayer = app.activeDocument.activeLayer;
var bounds = selectedLayer.bounds;
左left = bounds[0].value;
上top = bounds[1].value;
右right = bounds[2].value;
下bottom = bounds[3].value;
中心坐标centerX = (bounds[2].value - bounds[0].value) / 2 + bounds[0].value;
中心坐标centerY = (bounds[3].value - bounds[1].value) / 2 + bounds[1].value;
$.writeln("中心坐标centerX" + 中心坐标centerX);
$.writeln("中心坐标centerY" +中心坐标centerY);
图层上边距新 = 0;
图层左边距新 = 中心坐标centerX ;
图层下边距新 = height;
图层右边距新 = 中心坐标centerX + 1;
新建选区(图层上边距新, 图层左边距新, 图层下边距新, 图层右边距新);
app.activeDocument.activeLayer = 当前裁片图层;
载入选区交叉图层()
裁片位置坐标 = 获取当前选区四边距();
裁片位置坐标x=裁片位置坐标.left
裁片位置坐标y=裁片位置坐标.bottom
目标高度转毫米 = pixelsToMillimeters(获取到花样图层当前居中领口y坐标信息);
目标宽度转毫米 = pixelsToMillimeters(获取到花样图层当前居中领口x坐标信息);
当前高度转毫米 = pixelsToMillimeters(裁片位置坐标y);
当前宽度转毫米 = pixelsToMillimeters(裁片位置坐标x);
位移距离PXy = 获取到花样图层当前居中领口y坐标信息 - 裁片位置坐标y;
位移距离PXx = 获取到花样图层当前居中领口x坐标信息 - 裁片位置坐标x;
$.writeln(位移距离PXy);
$.writeln(位移距离PXx);
取消选择()
自由变换2(位移距离PXy,位移距离PXx)
//alert("移动")
}
}
}
取消选择();
}
function 获取当前图层组名称() {
var currentDocument = app.activeDocument;
var currentLayer = currentDocument.activeLayer;
if (currentLayer.typename === "LayerSet") {
var groupName = currentLayer.name;
return groupName;
} else {
alert("当前图层不是图层组。");
return null;
}
}
function 载入选区交叉图层() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("transparencyEnum"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("with"), r1);
executeAction(charIDToTypeID("Intr"), d, DialogModes.NO);
}
function 载入选区蒙版() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 遍历图层组内的图层(图层组名称) {
var currentDocument = app.activeDocument;
var targetLayerSet = currentDocument.layerSets.getByName(图层组名称);
if (targetLayerSet) {
var layers = targetLayerSet.layers;
if (layers.length > 0) {
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
// 在这里对每个图层进行进一步的操作
$.writeln("图层名称:" + layer.name);
}
} else {
$.writeln("图层组中没有任何图层。");
}
} else {
$.writeln("找不到指定名称的图层组。");
}
}
function 新建选区(上边距, 左边距, 下边距, 右边距) {
var currentDocument = app.activeDocument;
var top = 上边距;
var left = 左边距;
var bottom = 下边距;
var right = 右边距;
var selectionRegion = Array(Array(left, top), Array(right, top), Array(right, bottom), Array(left, bottom));
currentDocument.selection.select(selectionRegion);
}
function 选区减去() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("with"), r1);
executeAction(charIDToTypeID("Intr"), d, DialogModes.NO);
}
// 将像素转换为毫米
function pixelsToMillimeters(pixels) {
// 获取当前文档
var doc = app.activeDocument;
// 获取图像的分辨率(像素/英寸)
var resolution = doc.resolution;
// 计算像素转换为毫米
var inches = pixels / resolution;
var millimeters = inches * 25.4;
return millimeters.toFixed(2); // 保留两位小数
}
function 切换mask() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("null"), r);
d.putBoolean(stringIDToTypeID("makeVisible"), false);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 获取当前选区四边距() {
var currentDocument = app.activeDocument;
var selectionBounds = currentDocument.selection.bounds;
var top = selectionBounds[1].value;
var left = selectionBounds[0].value;
var bottom = selectionBounds[3].value;
var right = selectionBounds[2].value;
return {
top: top,
left: left,
bottom: bottom,
right: right
};
}
function 获取当前文档四边距() {
var currentDocument = app.activeDocument;
var documentBounds = currentDocument.bounds;
var top = documentBounds[1].value;
var left = documentBounds[0].value;
var bottom = documentBounds[3].value;
var right = documentBounds[2].value;
return {
top: top,
left: left,
bottom: bottom,
right: right
};
}
function 选区减去2() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("transparencyEnum"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("with"), r1);
executeAction(charIDToTypeID("Intr"), d, DialogModes.NO);
}
function 遍历图层组内的图层(图层组名称) {
var currentDocument = app.activeDocument;
var targetLayerSet = currentDocument.layerSets.getByName(图层组名称);
if (targetLayerSet) {
var layers = targetLayerSet.layers;
if (layers.length > 0) {
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
// 在这里对每个图层进行进一步的操作
$.writeln("图层名称:" + layer.name);
}
} else {
$.writeln("图层组中没有任何图层。");
}
} else {
$.writeln("找不到指定名称的图层组。");
}
}
function 自由变换2(位移距离PXy,位移距离PXx) //自由变换
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("freeTransformCenterState"), stringIDToTypeID("quadCenterState"), stringIDToTypeID("QCSAverage"));
var d1 = new ActionDescriptor();
d1.putUnitDouble(stringIDToTypeID("horizontal"), stringIDToTypeID("pixelsUnit"), 位移距离PXx);
d1.putUnitDouble(stringIDToTypeID("vertical"), stringIDToTypeID("pixelsUnit"), 位移距离PXy);
d.putObject(stringIDToTypeID("offset"), stringIDToTypeID("offset"), d1);
d.putBoolean(stringIDToTypeID("linked"), true);
d.putEnumerated(charIDToTypeID("Intr"), stringIDToTypeID("interpolationType"), stringIDToTypeID("nearestNeighbor"));
executeAction(stringIDToTypeID("transform"), d, DialogModes.NO);
}
function 历史记录回退领口函数() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putOffset(stringIDToTypeID("historyState"), -2 );
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 取消选择() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("to"), stringIDToTypeID("ordinal"), stringIDToTypeID("none"));
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 历史记录回退1领口函数() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putOffset(stringIDToTypeID("historyState"), -1 );
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
function 取消选择() //取消选择
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
d.putEnumerated(stringIDToTypeID("to"), stringIDToTypeID("ordinal"), stringIDToTypeID("none"));
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
"""