You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Photoshop如何根据TXT列表批量生成对应色值、命名的形状PNG文件

实现方案说明

这个需求完全可以通过Photoshop实现,你之前用自带变量功能找不到对应设置是正常的:Photoshop原生变量仅支持文本内容替换、像素图层替换、图层显隐控制三类操作,本身就不支持修改形状填充色属性,用JSX脚本就能完美适配你的需求。

准备工作

  • 打开你的PSD模板,选中需要修改填充色的矩形形状图层,将图层重命名为ColorRect(方便脚本精准定位,避免识别错误),保存后关闭其他无关PS文件。
  • 整理你的制表符分隔TXT文件:删掉表头、+--------+-----------+这类边框装饰,只保留每行「HEX值\t文件名」的纯数据格式,示例行如下:
003366	A1_003366
9AB0C7	B1_9AB0C7
FFFFE5	A2_FFFFE5
  • 将整理好的TXT文件命名为data.txt,和你的PSD模板放在同一个文件夹中。

脚本使用步骤

  1. 复制以下代码,保存为后缀为.jsx的文件,比如命名为批量导出改色.jsx
// 批量修改形状颜色并导出PNG脚本
var doc = app.activeDocument;
var docPath = doc.path.fsName;
// 创建导出文件夹
var exportFolder = new Folder(docPath + "/export");
if (!exportFolder.exists) exportFolder.create();
// 读取数据文件
var dataFile = File(docPath + "/data.txt");
dataFile.open("r");
var content = dataFile.read();
dataFile.close();
// 按行拆分数据
var dataLines = content.split("\n");
// 定位目标形状图层
var targetLayer = doc.layers.getByName("ColorRect");

for (var i = 0; i < dataLines.length; i++) {
    var line = dataLines[i].trim();
    if (line === "") continue;
    // 按制表符拆分HEX和文件名
    var parts = line.split("\t");
    if (parts.length < 2) continue;
    var hexColor = parts[0].trim();
    var fileName = parts[1].trim();
    // HEX转RGB
    var r = parseInt(hexColor.substring(0,2), 16);
    var g = parseInt(hexColor.substring(2,4), 16);
    var b = parseInt(hexColor.substring(4,6), 16);
    var newColor = new SolidColor();
    newColor.rgb.red = r;
    newColor.rgb.green = g;
    newColor.rgb.blue = b;
    // 修改形状填充色
    targetLayer.fillColor = newColor;
    // 导出PNG
    var exportFile = new File(exportFolder + "/" + fileName + ".png");
    var pngOpts = new PNGSaveOptions();
    pngOpts.compression = 6;
    pngOpts.interlaced = false;
    doc.saveAs(exportFile, pngOpts, true, Extension.LOWERCASE);
}
alert("批量处理完成,共导出" + i + "个文件");
  1. 回到Photoshop打开你的PSD模板,点击顶部菜单「文件 > 脚本 > 浏览」,选中刚才保存的.jsx文件运行即可。
  2. 处理完成后所有PNG文件会自动保存到PSD同目录下的export文件夹中,命名完全匹配你TXT里的名称设置。

注意事项

  • 运行脚本前不要修改PSD模板内的ColorRect图层名,如果你需要修改多个形状,对应修改脚本里的图层名称即可。
  • 数据文件里的HEX值不需要加#前缀,如果你的源数据自带#,修改脚本里HEX截取的起始位即可。
  • 300条数据处理耗时大概在1-2分钟,运行过程中不要操作Photoshop避免出错。

内容的提问来源于stack exchange,提问作者user3475927

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:27:03