PhotoCraft 动作与 Photoshop .atn 动作文件
不装 Photoshop 也能用 Photoshop 动作:在 PhotoCraft 免费的动作面板里载入 .atn 文件,查看哪些步骤能播放,存回 .atn,再用批处理或命令行批量处理整个文件夹。
一句话回答:不装 Photoshop 也能用 Photoshop 动作。从 v0.9.0(2026 年 10 月 14 日)起,PhotoCraft 能载入和存储 Photoshop 动作文件(.atn)。打开 窗口 › 动作(Window › Actions),在面板菜单里选 载入动作…(Load Actions…),选中文件即可。动作组会显示成一个文件夹,其中每个步骤要么作为 PhotoCraft 命令正常播放,要么作为标记出来的 Photoshop 步骤留在动作里:播放到这一步会停下,并告诉你它的名字。常用的滤镜、调整、图层、选区、图像大小、填充和变换步骤都已对应上;脚本、第三方增效工具滤镜、路径、创成式填充和滤镜库里的大部分效果还不行。你也可以在同一个面板里录制自己的动作,把任意动作组存回 .atn,再用 文件 › 自动化 › 批处理…(File › Automate › Batch…)或 photocraft-cli batch --actions set.atn 处理整个文件夹。PhotoCraft 免费开源,以上操作都不需要安装 Photoshop。
一览
| 任务 | v0.9.0 |
|---|---|
| 录制和播放自己的动作 | 能,桌面版和在线编辑器都行 |
载入 Photoshop .atn 动作组 | 能,限版本 16 的文件(Photoshop 6 及以后) |
| 播放载入的动作 | 已对应的步骤能播放;其余步骤会让播放停下,并显示其 Photoshop 名称 |
把动作存为 .atn | 能,没有 Photoshop 对应功能的步骤会被省略 |
| 对整个文件夹执行动作 | 批处理、快捷批处理和 photocraft-cli(仅桌面版) |
| 按钮模式、插入菜单项、“插入条件”菜单项 | v0.9.0 没有 |
动作面板
用 窗口 › 动作 打开(Alt+F9,Mac 上是 ⌥F9,见快捷键)。它是一个标签页,和 历史记录(History)、图层复合(Layer Comps)在同一个面板组里。面板底部的按钮:
| 按钮 | 作用 |
|---|---|
| 方块,停止播放/录制(Stop playing/recording) | 停止录制 |
| 圆点,开始录制(Begin recording) | 把新步骤录到所选动作的末尾,录制时变红 |
| 三角,播放选中项(Play selection) | 播放所选动作;没选中时播放第一个动作 |
| 加号,创建动作(Create new action) | 新建一个动作并开始录制,依次命名为“Action 1”“Action 2”…… |
| 垃圾桶,删除(Delete) | 删除所选步骤或所选动作 |
面板菜单(Panel menu)就是面板组标签栏最右端的菜单按钮。v0.9.0 里它有三个与动作相关的项:载入动作…、存储动作…(Save Actions…)和 插入停止…(Insert Stop…)。
录制动作
- 打开一个文档,点 创建动作,录制会立即开始。
- 做一遍你想重复的编辑,每一步都会实时出现在动作里。
- 点 停止播放/录制。
想往已有动作里追加步骤,选中它再点 开始录制。从 v0.7.0 起,保存 和 另存为… 会被录下来;从 v0.9.0 起,保存副本…(Save a Copy)也会被录下来,播放时同样存一份副本(#4390)。视图 菜单里的放大、缩小、适合屏幕等命令也会被录下。录制过程中如果播放另一个动作,或按下它的功能键,录下的是一个 Play Action: <名称> 步骤,而不是把那个动作的命令逐条复制过来。每次播放时都按名称查找被调用的动作,最多嵌套 16 层,动作调用自己会报错。
播放动作
选中动作,点 播放选中项。双击动作这一行也会播放;但双击的是名称本身时,则是重命名。播放遇到第一个失败的步骤就会停下,状态栏会指出是哪一步,例如 Step 4 (filter.blur.gaussianBlur) failed: …(v0.9.0 的这条提示还没有中文)。每执行一步会在历史记录里留下一条,可以逐步撤销。
打开和关闭单个步骤
点动作前面的三角展开步骤,每个步骤前有两个开关:
- 复选框(包含在播放中,Include in playback,v0.8.2 起,#2866)。取消勾选的步骤在播放、批处理和快捷批处理中都会被跳过。有步骤被关掉的动作会显示“2/3 个步骤”这样的计数。
- 对话框开关(播放时显示对话框,Show dialog during playback,v0.9.0 新增,#4456)。打开后,播放到这一步会弹出该命令的对话框,填好录制时的数值并等待:点 确定 按对话框里的数值执行,再接着播放下一步;点 取消 则停止整个动作。只对带有滤镜或调整对话框的命令有效。其他步骤,以及批处理、快捷批处理和 AI 助手,始终使用录制时的数值。
v0.9.0 的一个限制:被“播放动作”步骤调用的动作如果停在对话框上,点 确定 后只有这个被调用的动作会继续,调用它的动作不会接着往下走。
插入停止
选中一个动作(或其中一个步骤),在面板菜单里选 插入停止…。填写 信息(Message),再决定要不要勾选 允许继续(Allow Continue)。停止步骤会插在所选步骤之后,没选步骤时插在动作末尾。
播放到这一步时,动作会停下,状态栏显示 stopped by the action: <你的信息>。勾选了 允许继续 的话,播放会直接越过它继续。v0.9.0 不会像 Photoshop 那样弹出带“继续”“停止”按钮的对话框,所以只有在这一步让动作停下时,你才看得到这条信息。
条件步骤
PhotoCraft 能播放 Photoshop 的 插入条件(Insert Conditional)步骤,但 v0.9.0 没有添加它的菜单项。条件步骤来自载入的 .atn 文件,或者由自动化客户端用 actions.insert 命令添加。面板里显示为 Conditional: hasLayers → A / B。播放时,它检查当前文档或当前图层,再按结果播放对应名称的动作;那个动作失败时,调用它的动作也会停下。
一共 33 种条件:总是、从不、有打开的文档、横向、正方形、纵向、颜色模式(RGB、CMYK、灰度、Lab、位图、索引颜色、双色调、多通道)、8 位、16 位、32 位、有未保存的更改、有选区、有图层、有 Alpha 通道;以及针对当前图层的:背景、像素图层、调整图层、形状图层、文字图层、智能对象、图层组、已锁定、可见、有像素蒙版、有矢量蒙版、有图层样式效果。
动作组、重命名、快捷键和顺序
- 动作组文件夹(v0.9.0 新增)。不属于任何组的动作排在前面,后面每个组显示为一个文件夹,带动作数量。点文件夹这一行可以折叠或展开,右键它可以选 存储组…(Save Set…)。把动作拖到另一个组的动作之间,它就会归入那个组。v0.9.0 没有“新建组”按钮,组都来自载入的
.atn文件。 - 重命名。双击动作名称直接输入。按 Enter 或 Tab 确认,按 Esc 取消。名称不能重复,也不能为空。
- 功能键。右键动作,选 键盘快捷键(Keyboard Shortcuts)› 无 或 F1 到 F12。按键会显示在动作这一行,一个键只能分给一个动作。
- 顺序。在动作内上下拖动步骤,或拖动动作调整列表顺序。
- 删除。选中步骤或动作,点垃圾桶。录制过程中可以删步骤,但不能删整个动作。
按钮模式(每个动作显示成一个彩色按钮)v0.9.0 还没有,上游在这个版本发布后才把它加进开发分支。
载入 Photoshop .atn 文件
- 打开 窗口 › 动作。
- 点面板菜单按钮,选 载入动作…。
- 选中
.atn文件。
状态栏会报告结果,例如“已从 Grit.atn 载入 8 个动作(1 个步骤在 PhotoCraft 中尚无对应功能)”。动作组以文件夹形式出现,第一个动作被选中并展开。在 v0.9.0 的程序界面里,面板菜单是唯一的入口:文件 › 打开… 和拖放都不会导入 .atn 文件。
会保留下来的内容:
- 所有动作和步骤,顺序不变,每个步骤的开关状态和对话框开关也一并保留。
- 功能键。在 Photoshop 里分配了单独 F 键的动作,在 PhotoCraft 里得到同一个键。带 Shift 或 Cmd/Ctrl 的组合键不会带过来。
- 图层名称。按名称选择或修改图层的步骤(例如“选择图层 Shadow”)会在播放时的文档里找同名图层中最上面的那个。按图层序号或 ID 指定图层的步骤无法对应,因为这些编号换一个文档就没有意义了。
其他规则:
- 只能载入版本 16 的文件,也就是 Photoshop 6 及以后保存的所有动作文件。Photoshop 5 时代的版本 12 文件会被拒绝,提示
actions file version 12 (only version 16, Photoshop 6 and later, is supported)。 - 载入与面板中已有组同名的动作组时,会替换那个组里的动作。载入的动作如果和其他动作重名,会改名为“名称 2”,组内的“播放动作”步骤会自动跟着改。
- 正在录制或播放时不能载入。
PhotoCraft 暂时播放不了的步骤
如果某个步骤的 Photoshop 事件不在对应表里,它会留在动作中,显示为“<Photoshop 名称>(Photoshop)”。PhotoCraft 保留了这个步骤的原始数据,所以 存储动作… 会把它原样写回去。播放到这一步时,动作会停下并提示:
Photoshop step "<name>" (<event>) has no PhotoCraft equivalent yet; switch it off in the Actions panel to skip it
不会有步骤被悄悄跳过。只是选择工具、或者对文档没有影响的步骤,载入时就已经是关闭状态。其他保留下来的步骤,你需要判断去掉它之后动作还有没有意义:没问题的话就取消勾选;否则就在 PhotoCraft 里录一个替代步骤,拖到对应位置。
photocraft-cli batch 会在开始前把所播放动作中的这类步骤列成警告。自动化客户端可以从 actions.load 结果的 unsupported 字段拿到完整列表。
哪些 Photoshop 步骤已对应
下表依据 v0.9.0 的对应表,表中共 102 项(上游文档的说法是 112 个事件)。“建立”“设置”“选择”这样的一项能覆盖很多种步骤,有些步骤只有特定写法才能对应,见备注。所有已对应的步骤,存储动作… 时也会写回同一个 Photoshop 事件。
| 类别 | 能播放的 Photoshop 步骤 | 备注 |
|---|---|---|
| 模糊和锐化 | 高斯模糊、动感模糊、方框模糊、表面模糊、智能模糊、径向模糊、模糊、进一步模糊、USM 锐化、锐化、进一步锐化、锐化边缘 | |
| 其他滤镜 | 添加杂色、中位数、蒙尘与划痕、去斑、高反差保留、最小值、最大值、位移、波纹、晶格化、滤镜库 | 滤镜库只支持喷溅(Spatter),每步只能有一个效果 |
| 调整 | 色阶(含自动色调、自动对比度)、曲线、色相/饱和度、亮度/对比度、阈值、色调分离、反相、色彩平衡、自然饱和度、曝光度、照片滤镜、黑白、通道混合器、渐变映射、可选颜色、去色、色调均化、自动颜色 | 其中 15 种带参数的调整,也能作为新建调整图层和修改调整图层的步骤 |
| 图像 | 图像大小、画布大小、旋转、翻转、裁剪、裁切、显示全部、模式、复制、应用图像 | 图像大小和画布大小须以像素记录,或图像大小用同一个百分比缩放两边。模式:RGB、灰度、CMYK、Lab、多通道、8/16/32 位,以及用 50% 阈值、图案仿色或扩散仿色转位图。任意角度旋转只支持整个画布 |
| 新建图层(建立) | 新图层、组、从图层创建组、通过复制/剪切创建图层、纯色和图案填充图层、调整图层、新文档、从剪贴板新建 | 图案按名称匹配 |
| 图层修改 | 设置(名称、不透明度、填充、混合模式、可见性、标签颜色、从背景创建图层、图案填充图层的图案、调整参数)、选择(按名称、加选或减选、上一个/下一个图层、顶层/底层、图层蒙版或复合通道)、删除(图层、图层蒙版)、隐藏、显示、移动、拼合图像、合并可见图层(或盖印)、合并图层、通过复制/剪切创建图层、栅格化、选择所有图层、取消选择图层、去边、对齐、转换为智能对象、编辑内容、更新智能对象 | 移动:以像素或点为单位的微移,以及置于顶层、置于底层、前移一层、后移一层 |
| 变换 | 图层的自由变换(移动、缩放、旋转)、变换选区 | 位移须以像素记录;斜切和变形不能对应 |
| 选区 | 全选、取消选择、重新选择、矩形、椭圆、多边形、载入透明度或通道、快速蒙版开关、反向、羽化、扩展、收缩、平滑、边界、扩大选取、选择相似、选择与蒙版 | 选择与蒙版用的是 PhotoCraft 自己的边缘算法,细节会有差别 |
| 编辑 | 填充、油漆桶点击、描边、复制、合并复制、剪切、粘贴、原位粘贴、清理、后退一步和前进一步、默认前景色/背景色、交换前景色/背景色、指定配置文件、转换为配置文件 | 填充:前景色、背景色、白色、黑色、灰色、指定颜色、历史记录或内容识别。油漆桶只在点击位置以像素记录时才能对应。配置文件:sRGB、Display P3、Adobe RGB (1998)、ProPhoto RGB |
| 文件和动作 | 打开、置入(嵌入或链接)、存储、恢复、关闭(选了“存储”的会变成先存储再关闭)、存储为 Web 所用格式、播放动作、停止、条件 | 录制时的文件路径在你的电脑上必须存在。存储为 Web 所用格式只在步骤记录了保存位置时才能对应 |
根据源码和上游的缺口清单,以下内容无法对应:脚本(AdobeScriptAutomation)、路径和矢量操作、创成式填充(项目决定不做)、喷溅以外的滤镜库效果、位图模式的半调网屏和自定图案、把图层复制到新文档、两边百分比不同或使用物理单位的图像大小、非像素单位的画布大小,以及表里没有列出的任何事件,其中包括第三方增效工具滤镜的步骤(PhotoCraft 本来也不能运行这类增效工具)。上游的缺口清单里还写着,Photoshop 那种“与文档无关”的录制方式尚未实现。
实际效果如何?上游在 #4698 里拿四套商业 TrueGrit Texture Supply 动作组做测试,533 个步骤中无法对应的从 223 个降到 3 个,四套都能完整播放。#4470 之后,一套免费的高低频分离动作组载入时已没有不支持的步骤。你手里的动作组效果可能更好也可能更差,取决于用到了哪些步骤。滤镜和混合都是 PhotoCraft 自己实现的,所以同一个动作播放出来,和 Photoshop 里的结果可能略有差别。
把动作存为 .atn
有两种存法:
- 面板菜单 › 存储动作…:存储所选动作所在的组。所选动作不属于任何组时,面板里的所有动作会存成一个名为“PhotoCraft Actions”的组。
- 右键组文件夹 › 存储组…:存储这个组。
默认文件名是组名加 .atn。没有 Photoshop 对应功能的步骤会被省略,状态栏会显示省略了几个(“已省略 2 个没有 Photoshop 对应功能的步骤”)。从载入文件中保留下来的 Photoshop 步骤会原样写回。步骤的开关状态、对话框开关和 F1 到 F15 的功能键也会存进去。动作按钮的颜色不会保存:PhotoCraft 载入时读到了颜色,但没有保留,所以存出来的组没有颜色。
源码把存出的文件描述为 Photoshop 能载入的文件,上游也测试过:一个未改动的 Photoshop 文件经过 PhotoCraft 读取再写出,字节完全一致。不过已对应的步骤是根据 PhotoCraft 自己的参数重新生成的,细节上可能和原文件不同。我们没找到上游在 Photoshop 里实际打开这些文件的测试记录,重要的动作组请先在 Photoshop 里核对再用。
对多个文件执行动作
文件 › 自动化 › 批处理
在面板里选中一个动作,再选 文件 › 自动化 › 批处理…。关掉的步骤不会执行,从 .atn 载入的动作和自己录的动作用法一样。对话框里有:
- 输入 和 输出 文件夹。输出默认是当前文档旁边的
batch文件夹。只处理输入文件夹里直接存放的图片。v0.9.0 没有“包含所有子文件夹”选项,上游在这个版本发布后才把它加进开发分支。 - 格式(Format):
same、png、jpg、psd、tiff或webp,可以另设品质。 - 文件命名(File Naming)和 起始序号(Starting serial),v0.9.0 新增(#4466)。文件命名留空就保持原文件名;也可以用
{name}、{serial}(至少补足三位)和{date}(UTC 日期,YYYY-MM-DD)。例如{name}_{serial}会得到photo_001.png。
批处理会跳过录下来的 保存、另存为、保存副本、缩放和适合屏幕 步骤,因为文件存到哪里由输出文件夹决定。从 v0.9.0 起,录下来的快速导出步骤也会被跳过(#4747)。每个文件都会拿到整个动作列表的副本,所以“播放动作”和条件步骤可以调用其他动作。任何一步失败,包括保留下来的 Photoshop 步骤和没勾 允许继续 的停止步骤,都会让这个文件失败,其余文件照常处理。
文件 › 自动化 › 创建快捷批处理
文件 › 自动化 › 创建快捷批处理…(Create Droplet…)把所选动作存成 .pcdroplet 文件,它的“播放动作”步骤调用到的动作也一起存进去。用 photocraft-cli droplet 运行。在 macOS、Linux 和 FreeBSD 上,旁边还会生成一个 .command 脚本,把文件拖到上面就能处理。从 v0.9.0 起,在 macOS 上如果文档从没保存过,对话框会默认建议“文稿”(Documents)文件夹,而不是程序那个无法写入的工作目录(#4746)。
用命令行
从 v0.9.0 起,photocraft-cli batch 可以直接读取 .atn 文件:
photocraft-cli batch --actions Grit.atn --action "Rough Edges" --in ./art --out ./done
--action <名称>指定组里的哪个动作;组里不止一个动作时必须指定。- 处理每个文件时都会载入整个组,所以“播放动作”和条件步骤可以调用组里的其他动作。
- 开始前,CLI 会为所选动作中每个没有 PhotoCraft 对应功能的步骤打印一行
warning:,格式为warning: `<action>` step <n>: Photoshop's "<name>" (<event>) has no PhotoCraft equivalent yet。除非文件里这个步骤是关闭的,否则每个文件都会在这一步失败。 - 其余用法和普通
batch一样:--format、--quality、--in-place等参数照用,不读子文件夹,有文件失败时退出码为1。
--actions 仍然可以用动作面板的 actions.json 或单个动作的步骤文件。photocraft-cli droplet 只接受 .pcdroplet 文件,想把 .atn 里的动作做成快捷批处理,就先在程序里载入它,再用 创建快捷批处理…。两个子命令的完整说明见用 CLI 和 MCP 自动化 PhotoCraft。
动作存在哪里
桌面版把动作列表存成 PhotoCraft 设置文件夹里 Presets 目录下的 actions.json。列表一有变化就会写入,不需要另外保存。
| 系统 | 文件 |
|---|---|
| Windows | %APPDATA%\Photocraft\Presets\actions.json |
| macOS | ~/Library/Application Support/Photocraft/Presets/actions.json |
| Linux | ~/.config/photocraft/Presets/actions.json(或 $XDG_CONFIG_HOME/photocraft 下) |
| Windows 便携版 zip | photocraft.exe 旁边的 PhotoCraftData\Presets\actions.json |
设置了 PHOTOCRAFT_CONFIG_DIR 环境变量时,会改用它指定的文件夹。photocraft-cli 不会读写这个文件;想在命令行里用面板里的动作,把这个文件传给 --actions 即可。
备份和迁移动作。 退出 PhotoCraft,复制 actions.json 就是备份。要把所有动作搬到另一台电脑,在那边也先退出 PhotoCraft,再把文件放到同样的位置。这会替换那台电脑上原有的动作。只想添加几个动作、不替换原有内容的话,用 存储动作… 或 存储组… 存成 .atn,再到另一台电脑上载入。注意 .atn 这条路会省略没有 Photoshop 对应功能的步骤。功能键存在首选项里,不在 actions.json 里,所以只有通过 .atn 文件才能带过去。
在线编辑器
photocraft.im 的在线编辑器运行的是 v0.9.0,动作面板和桌面版一样。录制、播放、步骤开关、插入停止和动作组文件夹都能用。载入动作… 会打开浏览器的文件选择框,存储动作… 会把 .atn 文件下载下来。动作保存在浏览器为这个网站提供的存储里,不是一个能直接复制的文件。批处理、创建快捷批处理和运行快捷批处理都需要文件系统,所以只有桌面版能用(提示 not available on the web (no file system));载入的步骤里凡是按路径打开或置入文件的,在网页里也找不到文件。要处理整个文件夹,请用桌面版。
常见问题
提示“Photoshop step … has no PhotoCraft equivalent yet”。 这一步用到了 PhotoCraft 还没对应的事件。动作没有它也能用的话就取消勾选,否则录一个 PhotoCraft 的替代步骤。见 PhotoCraft 暂时播放不了的步骤。
提示“actions file version 12 …”。 这个动作组是 Photoshop 5 或更早的版本保存的。如果手边有新版 Photoshop,可以在里面载入再重新存一次。
某一步提示 no layer named "…",或者作用到了错误的图层。 载入的步骤按名称查找图层。播放所用的文档里必须有动作期望的那个图层名;有多个同名图层时,用的是最上面那个。
批处理里每个文件都失败。 检查动作里有没有保留下来的 Photoshop 步骤、没勾 允许继续 的停止步骤,或者录制路径在这台电脑上不存在的打开、置入步骤。取消勾选这一步再重新批处理。
提示“the set … holds N actions: pick one with --action --action,填提示里列出的某个名称。名称必须完全一致,包括大小写和空格。
提示“stop recording or playing before loading actions”。 先点 停止播放/录制,再重新载入。
升级后、或退回旧版本后,面板变空了。 如果 actions.json 读不出来,PhotoCraft 会以空列表启动,并且不去动磁盘上的这个文件。这次运行中做的改动都不会保存,PhotoCraft 会提示 Couldn't save actions: actions.json could not be read, so it was left unchanged。退出程序,恢复一份完好的文件(或把坏文件移开),再重新启动。更多帮助见故障排查。