Comfy Canvas:ComfyUI 原生的分层绘画与迭代编辑器

插件6个月前发布 小马良
335 0

Comfy Canvas 是一款ComfyUI 自定义节点,它将完整的分层图像编辑器直接嵌入到 ComfyUI 界面中。告别在 Photoshop、Krita 和浏览器标签页之间来回切换的繁琐工作流,Comfy Canvas 让你能够在同一个窗口内完成“绘画 -> 生成 -> 审查 -> 再编辑”的无缝闭环。

从 v1.0 版本开始,Comfy Canvas 完全迁移为原生内部运行模式,不再依赖独立的 Flask 服务器或外部网页应用,实现了真正的零摩擦集成。

Comfy Canvas:ComfyUI 原生的分层绘画与迭代编辑器

核心亮点

1. 原生分层编辑体验

  • 内置编辑器:作为节点内的应用内覆盖层(Overlay)打开,无需离开 ComfyUI。
  • 完整图层栈:支持非破坏性分层编辑,包括图层缩略图、重命名、复制、删除、不透明度调整、混合模式及拖拽排序。
  • 专业绘图工具:提供画笔、橡皮擦、取色器、油漆桶、选框选择、移动/变换工具,甚至支持 Photoshop 风格的双击文本编辑。

2. 实时往返工作流 (Round-Trip Workflow)

  • 即时反馈:通过 Comfy Canvas Output 节点,将工作流生成的最新结果直接推回画布右侧面板。
  • 快速迭代:你可以基于生成的图像继续绘画、添加遮罩或修改提示词,然后再次运行工作流,所有操作在同一会话中完成。
  • 提示词持久化:底部停靠栏保存你的提示词历史,方便快速重试或微调。

3. 智能会话管理

  • 自动保存:编辑内容自动保存到本地用户数据目录,关闭编辑器时强制最终保存。
  • 状态恢复:重新打开节点时,自动恢复之前的图层堆栈、遮罩和提示词,确保工作不丢失。
  • 独立会话:每个节点实例拥有唯一的 session_id,允你在同一工作流中并行处理多个不同的图像编辑任务。

4. 高级遮罩与合成

  • 每图层遮罩:支持基于缩略图的遮罩编辑,透明或被删除的像素自动转换为导出遮罩。
  • 灵活输出:节点输出最终的合成图像 (IMAGE) 和对应的遮罩 (MASK),可直接连接到后续的 ControlNet、Inpainting 或其他处理节点。

快速开始

1. 安装

将仓库克隆或复制到 ComfyUI 的自定义节点目录:

cd ComfyUI/custom_nodes/
git clone https://github.com/comfy-canvas/comfy_canvas.git  # 假设仓库地址
# 或者手动下载解压为 comfy_canvas 文件夹

重启 ComfyUI。

2. 基础连接

在您的工作流中添加以下两个节点并连接:

  1. Comfy Canvas (主编辑器节点)
  2. Comfy Canvas Output (预览回流节点)

连接方式:

  • Comfy Canvas.session_id ➔ Comfy Canvas Output.session_id
  • 您的最终生成图像 (IMAGE) ➔ Comfy Canvas Output.image
  • (可选) 初始图像 (IMAGE) ➔ Comfy Canvas.image (用于从现有图片开始编辑)

3. 开始编辑

  1. 点击 Comfy Canvas 节点上的 “Open Canvas” 按钮。
  2. 编辑器将在 ComfyUI 界面中以模态窗口形式打开。
  3. 在左侧画布进行绘画、添加图层或修改遮罩。
  4. 在底部输入提示词,点击运行工作流(或手动触发队列)。
  5. 生成的结果将出现在右侧面板。
  6. 点击右侧面板的 “Copy to Layer” 将结果作为新图层带回左侧画布,继续迭代。

节点参数参考

Comfy Canvas

输入类型描述
session_idSTRING会话唯一标识符(自动生成或手动指定)
canvas_widthINT画布宽度 (默认 1024)
canvas_heightINT画布高度 (默认 1024)
backgroundSTRING背景颜色 (transparent 或 white)
imageIMAGE可选的初始输入图像
输出类型描述
imageIMAGE最终合成的图像
maskMASK基于透明度的合成遮罩
session_idSTRING当前会话 ID
promptSTRING编辑器中最后使用的提示词

Comfy Canvas Output

输入类型描述
imageIMAGE工作流生成的最新图像
session_idSTRING必须与主节点的 session_id 一致
输出类型描述
imageIMAGE透传图像(主要用于触发预览更新)

数据存储说明

会话数据存储在 ComfyUI 的用户数据目录下:
user/__comfy_canvas/sessions/<session_id>/

包含文件:

  • document.json: 图层结构、位置、混合模式等元数据。
  • layers/: 每个图层的 PNG 文件和对应的遮罩文件。
  • edited.png: 当前编辑状态的扁平化预览。
  • result.png: 最近一次工作流生成的结果。
© 版权声明

相关文章