# ComfyUI InpaintRegionEditor - 完整实现方案 > 基于深度调研制定的技术方案,供下一个会话实现 > > 版本:5.0 | 更新时间:2026-02-27 --- ## 一、用户需求确认 ### 1.1 业务需求来源 用户希望为 ComfyUI 的局部重绘(Inpaint)功能增加: 1. **功能1:可拖动重绘区域框** - 原有问题:局部重绘需要遮罩向外扩散,不够精确 - 新需求:手工录入区域框尺寸(如 512×512),可拖动框住遮罩位置 - 输出增加:`region_top`, `region_left`, `region_width`, `region_height` 2. **功能2:PS 类功能** - 液化、仿制图章等能力 - 在重绘前可手工调整原图 ### 1.2 技术选型决策 | 需求 | 选择 | 原因 | |------|------|------| | **前端架构** | 独立编辑器 | 不依赖原有 MaskEditor,实现更简单 | | **区域框交互** | 自动计算 + 手动微调 | 最佳用户体验 | | **PS 功能** | 嵌入 Photopea | 零开发成本,功能完整 | | **约束** | 纯 custom node | 不修改 ComfyUI 核心代码 | --- ## 二、Photopea 深度解析 ### 2.1 Photopea 是什么? **一句话定义**:Photopea = 浏览器里的 Photoshop | 属性 | 详情 | |------|------| | **开发者** | Ivan Kutskir(1人,乌克兰/捷克)| | **开发时间** | 2013年至今(10+ 年)| | **代码量** | 138,541 行 JavaScript | | **月活用户** | 1300 万+ | | **年收入** | ~$100-120 万美元(广告+订阅)| | **支持格式** | 40+ 种(PSD, AI, Sketch, Figma...)| | **成本** | 免费(API 完全免费)| ### 2.2 为什么能实现完整 PS 功能? ``` Photopea 的 138k 行代码包括: ├── PSD 解析器(逆向工程 Adobe 格式) ├── 图层系统(完整的图层树结构) ├── 渲染引擎(Canvas 2D + WebGL) ├── 滤镜系统(高斯模糊、液化、锐化...) ├── 选区算法(魔棒、套索、快速选择...) ├── 文字引擎(字体渲染、排版) ├── 脚本引擎(兼容 Adobe JSX) └── 40+ 格式解析器 ``` **这是一个人用 10 年写出来的代码量,功能追平 Photoshop。** ### 2.3 技术架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ Photopea 技术栈 │ ├─────────────────────────────────────────────────────────────┤ │ 渲染引擎: Canvas 2D + WebGL │ │ 图像处理: JavaScript + WebAssembly │ │ 文件格式: 自定义解析器(PSD, AI, SVG 等 40+ 格式) │ │ UI: 自定义 HTML/CSS(非框架) │ │ 存储: IndexedDB(本地缓存) │ │ 性能优化: Web Workers(多线程) │ └─────────────────────────────────────────────────────────────┘ ``` ### 2.4 网络依赖问题 **重要**:Photopea 是「本地处理 + 联网加载代码」的混合架构。 | 功能 | 是否需要联网 | 说明 | |------|-------------|------| | **打开/编辑图像** | ❌ 不需要 | 纯本地处理 | | **液化/滤镜** | ❌ 不需要 | 纯本地计算 | | **保存文件** | ❌ 不需要 | 纯本地操作 | | **首次打开** | ✅ 需要 | 下载核心代码(~10MB)| | **字体选择** | ⚠️ 部分 | 字体预览缩略图需下载 | | **广告显示** | ✅ 需要 | 广告从服务器加载 | **断网打不开的原因**: 1. 首次需要下载 ~10MB 的 JavaScript 代码 2. 浏览器缓存被清理后需要重新下载 3. 字体预览缩略图(7600+ 字体,2.75GB)需要从服务器获取 **解决方案**: - 首次联网加载后,不要清理浏览器缓存 - 如需完全离线,可购买 Self-Hosted 版本($500-$2000/月) ### 2.5 嵌入原理 ``` ┌─────────────────────────────────────────────────────────────┐ │ 宿主页面 (ComfyUI) │ │ │ │ ┌───────────────────────────────────────────────────────┐ │ │ │