酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

写出一个ps脚本代码 当ps文件中图层数量小于1时,弹出窗口警告请置入对象,当图层数量大于等于1时,图层1中元素在画布位置左上角开始一直交替变换大小(缩小画布尺寸的百分10-百分20),旋转角度百分0-百分百,图层元素之间的空隙(缩小画布尺寸的百分10-百分25),各图层元素循环复制并重复上述变换,一直到画布右下角位置结束,最后合并所有图层元素,弹出是否保存图像,选择是或者不是,选择是时导出为选择文件的位置,保存为png格式,选择不是时停留在ps该画布界面

以下是一个使用 Adobe Photoshop 脚本(JavaScript)实现您需求的大致示例代码。这可能需要根据您的具体 Photoshop 版本和环境进行微调。 ```javascript // 获取当前文档 var doc = app.activeDocument; // 获取图层数量 var layerCount = doc.layers.length; // 如果图层数量小于 1,弹出警告 if (layerCount < 1) { alert("请置入对象"); } else { // 循环处理每个图层 for (var i = 0; i < layerCount; i++) { var layer = doc.layers[i]; // 获取当前图层的元素 var element = layer.artLayers[0]; // 初始化左上角位置 var x = 0; var y = 0; // 循环直到达到右下角 while (x < doc.width && y < doc.height) { // 随机变换大小 var scale = Math.random() * 0.1 + 0.9; // 0.9 到 1 的随机缩放比例 element.resize(scale * 100, scale * 100, AnchorPosition.TOPLEFT); // 随机旋转角度 var rotation = Math.random() * 360; element.rotate(rotation); // 随机空隙 var gapX = Math.random() * 0.1 + 0.9; var gapY = Math.random() * 0.1 + 0.9; // 更新位置 x += element.bounds.width * gapX; y += element.bounds.height * gapY; // 复制当前元素 var copiedElement = element.duplicate(); copiedElement.move(x, y); } } // 合并所有图层 doc.mergeLayers(); // 弹出保存对话框 if (confirm("是否保存图像?")) { var saveOptions = new ExportOptionsSaveForWeb(); saveOptions.format = SaveDocumentType.PNG; var filePath = File.saveDialog("选择保存位置", "*.png"); if (filePath) { doc.exportDocument(filePath, ExportType.SAVEFORWEB, saveOptions); } } } ``` 这段代码只是一个基本的框架,实际应用中可能需要更多的错误处理和细节优化。 [2024-09-22 18:07:34 | AI写代码神器 | 534点数解答]

相关提问