以下是一个使用 Adobe Photoshop 的 JavaScript 脚本(扩展名为 `.jsx`)的示例,它大致实现了你描述的功能: ```javascript // 获取当前文档 var doc = app.activeDocument; // 获取图层数量 var layerCount = doc.layers.length; // 如果图层数量小于 1,弹出警告 if (layerCount < 1) { alert("请置入对象"); } else { // 计算画布的宽度和高度 var width = doc.width; var height = doc.height; // 定义一些变量用于控制元素的位置、大小和旋转 var x = 0; var y = 0; var sizeRange = [width * 0.1, width * 0.2]; var rotationRange = [0, 360]; var gapRange = [width * 0.1, width * 0.25]; // 遍历每个图层 for (var i = 0; i < layerCount; i++) { var layer = doc.layers[i]; // 随机生成大小、旋转和间隙 var size = randomInRange(sizeRange); var rotation = randomInRange(rotationRange); var gap = randomInRange(gapRange); // 设置图层的位置、大小和旋转 layer.resize(size, size); layer.rotate(rotation); layer.translate(x, y); // 更新下一个元素的位置 x += size + gap; if (x + size > width) { x = 0; y += size + gap; } } // 合并所有图层 doc.mergeLayers(); // 弹出是否保存的对话框 if (confirm("是否保存图像?")) { // 保存为 PNG 格式 var saveOptions = new ExportOptionsSaveForWeb(); saveOptions.format = SaveDocumentType.PNG; saveOptions.PNG8 = false; var filePath = File.saveDialog("选择保存位置", "*.png"); if (filePath) { var pngFile = new File(filePath); doc.exportDocument(pngFile, ExportType.SAVEFORWEB, saveOptions); } } } // 生成指定范围内的随机数 function randomInRange(range) { return Math.random() * (range[1] - range[0]) + range[0]; } ``` 要使用此脚本,请将其保存为 `.jsx` 文件,然后在 Photoshop 中通过“文件”>“脚本”>“浏览”来运行它。 这只是一个基本的示例,可能需要根据您的具体需求进行进一步的调整和优化。 [2024-09-22 17:59:44 | AI写代码神器 | 617点数解答]