ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

零基础用 Python 自动化操作 Photoshop?photoshop-python-api 十分钟上手攻略

零基础用 Python 自动化操作 Photoshop?photoshop-python-api 十分钟上手攻略 零基础用 Python 自动化操作 Photoshopphotoshop-python-api 十分钟上手攻略【免费下载链接】photoshop-python-apiPython API for Photoshop.项目地址: https://gitcode.com/gh_mirrors/ph/photoshop-python-api每天重复打开图、调字号、导出 JPG手指在 Photoshop 里点来点去一坐就是一下午——这大概是很多设计师和运营同学的真实日常。而photoshop-python-api这个开源工具包正好可以帮你把这份机械劳动交给 Python几行代码就能新建画布、写入文字、控制图层、批量导出让 Photoshop 自动化的门槛降到几乎为零。本文不堆术语只讲怎么快速跑起来。先讲个故事当重复劳动遇上一行代码运营小林上周接到一个任务把 200 张海报里的二维码全部换掉再统一导出成 JPG。手动操作的话每张图要经历打开→找到图层→删除→拖入新图→对齐→另存六个动作按 2 分钟一张算整整要花 6 个多小时而且越做越容易手滑出错。后来他用 photoshop-python-api 写了个十几行的脚本把六个动作全部写进循环里跑一次只花了几分钟。剩下的时间小林用它把同类需求整理成了一个模板从此这类活再也没花超过一刻钟。这就是给软件装上遥控器的威力。换个视角把 Photoshop 当成一台可编程的机器用这个库之前先建立一个心智模型PS 里你能手动做的每件事几乎都能翻译成一句 Python 代码。按使用场景分它主要帮你搞定四类事情应用场景你能做什么对应模块出图流水线自动建画布、设尺寸/分辨率/命名photoshop/api/_document.py图层指挥中心增删图层、改透明度、旋转平移、开关可见性photoshop/api/_artlayer.py多格式导出JPG/PNG/PSD/TIFF 一键切换还能逐层导出photoshop/api/save_options/颜色精确控制RGB/CMYK/HSB 数值化调色告别肉眼对比photoshop/api/colors/划重点它不改变 PS 的任何操作习惯只是把手点变成代码调用所以你已有的设计流程完全不用推翻。动手前先避坑这份环境清单请过一遍开始之前先对照下面这张表自查能省掉一半的报错时间✅操作系统仅支持 Windows底层依赖 Windows 的 COM 组件macOS/Linux 上装不了✅Python 版本3.8 及以上✅PhotoshopCC2017 至 2025 各版本均可官方已逐个验证✅pip通常随 Python 一起安装无需额外配置你可能想问为什么只能在 Windows 上跑简单说这个库是通过 Photoshop 暴露的 COM 接口来遥控软件的而 COM 是 Windows 的原生技术。所以别在 Mac 上折腾直接找台 Windows 电脑开工。三步完成环境配置一条命令开始自动化安装比想象中简单核心就三步第一步安装依赖包pip install photoshop_python_api第二步启动 Photoshop保持 Photoshop 在前台运行即可不需要额外开启任何脚本模式。第三步跑一段验证脚本from photoshop import Session with Session() as ps: print(f已连接 Photoshop版本{ps.app.version})如果终端能打印出版本号说明环境已经打通可以进入实战了。实战演练10 分钟写出你的第一个自动化脚本光说不练假把式我们直接写一个生成品牌色文字 Banner的小程序。目标新建 1280×720 画布写入一行橙色文字并导出为 JPG。from photoshop import Session with Session() as ps: # ① 新建画布宽 1280、高 720、分辨率 72 doc ps.app.documents.add( width1280, height720, resolution72, namebanner ) # ② 定义一个品牌色橙红色 brand ps.SolidColor() brand.rgb.red 230 brand.rgb.green 74 brand.rgb.blue 25 # ③ 新建文字图层并写入内容 layer doc.artLayers.add() layer.kind ps.LayerKind.TextLayer # 声明这是文字图层 layer.textItem.contents Hello, Automation! layer.textItem.position [300, 320] # 文字坐标 layer.textItem.size 56 # 字号 layer.textItem.color brand # 文字颜色 # ④ 保存为 JPGasCopy 表示另存不改动原文档 doc.saveAs(D:/banner.jpg, ps.JPEGSaveOptions(quality10), asCopyTrue) ps.echo(banner 已生成)运行后你会看到Photoshop 里自动出现一个 1280×720 的新文档中央是一行 56 号的橙红色英文文字同时D:/banner.jpg已经生成控制台输出banner 已生成。小提醒保存路径建议写绝对路径如D:/xxx.jpg避免相对路径在切换工作目录时报找不到文件。进阶玩法打开旧工程、批量改图、多文档齐头并进如果你已经能跑通上面的脚本恭喜你已经掌握了八成 API。剩下的进阶功能几乎都围绕Session的几个参数展开参数作用示例file_pathactionopen打开已有 PSD 文件再处理Session(D:/a.psd, actionopen)actionnew_document会话开始时自动新建文档Session(actionnew_document)actiondocument_duplicate复制当前活动文档Session(actiondocument_duplicate)auto_closeTrue退出会话时自动关闭文档Session(a.psd, actionopen, auto_closeTrue)举个批量场景把某个 PSD 里的每个图层单独导出成 PNG供前端切图使用核心代码只有这么一小段from photoshop import Session with Session(D:/design/页面.psd, actionopen) as ps: doc ps.active_document for i, layer in enumerate(doc.layers): layer.visible True doc.saveAs(fD:/export/layer_{i}.png, ps.PNGSaveOptions(), asCopyTrue) layer.visible False这段循环的精髓在于先开可见性、导出、再关掉逐个图层出图互不干扰。更稳妥的完整版含可见性恢复的 try-finally 写法可以直接参考 examples/export_layers_as_png.py。学习资源地图文档、示例与源码去哪找工具再好找不到资料也是白搭。这份资源地图按需取用官方使用指南docs/ 目录含index.md与changelog.md先读 index 建立整体认知现成示例脚本examples/ 里躺着 30 个可跑通的例子从新建文档、旋转图层到批处理、执行动作脚本全覆盖遇到不会写的操作先来这翻翻核心 API 源码photoshop/api/文档查不到的细节直接看源码最准会话封装入口photoshop/session.py所有Session参数的实现都在这颜色系统photoshop/api/colors/RGB/CMYK/HSB 各模式的定义一目了然过来人的 5 条避坑经验最后把社区里踩过的坑浓缩成 5 条能帮你少走很多弯路平台别纠结macOS/Linux 装不上是设计使然不要在虚拟机上浪费时间直接上 Windows。先开 PS 再跑脚本Session 连接的是正在运行的 PhotoshopPS 没启动代码一执行就报连接错误。保存务必用asCopyTrue它表示另存为新文件如果不传脚本可能直接覆盖你正在编辑的原 PSD追悔莫及。版本差异用参数兜底老版本 PS 上个别属性可能不存在可以用Session(ps_version2021)显式指定版本降低兼容问题。批量操作记得善后像导出图层这类脚本把恢复原状写进finally里避免跑完一遍图层的可见性全乱套。写在最后现在就动手试试自动化这件事最难的从来不是技术而是迈出第一步。今天这篇文章里的代码从安装到出图不超过十分钟跑通一次之后你会发现原本繁琐的 Photoshop 操作正在变成一个又一个可以随手复用的 Python 函数。下一次再接到200 张图要处理的需求时别急着打开 PS 手动开工——先想想这件事能不能交给 photoshop-python-api 替你完成动手吧你的双手值得被解放出来去做更有创意的事。【免费下载链接】photoshop-python-apiPython API for Photoshop.项目地址: https://gitcode.com/gh_mirrors/ph/photoshop-python-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表