你好 🐠
愚蠢的演示示例当前版本为 9b174d6 / v0.0.8 / 2022-12-03 //待更新
这是一个完全使用原生 JavaScript 和 HTML canvas 构建的外部绘制便利工具,专为 AUTOMATIC1111 的 stable diffusion webUI 可选暴露的 API 设计,其操作方式类似于其他可能更知名的工具。这只是为了满足我以下一些自负的愿望而提供的另一种选择:
- 避免额外虚拟 Python 环境的开销或影响现有环境
- 针对 A1111 的 webUI 暴露的 API 进行操作
- 无外部依赖,极其普通的原生实现
- 无外部连接,自托管且离线
- 未经混淆(咳咳)
- 我的 JavaScript 水平很糟糕,应该改进一下
- 我以前从未使用过 HTML canvas,应该尝试一下
功能
- 支持"软修复"功能
- 支持SDXL!(请在上下文菜单中检查外部绘制/内部绘制填充类型,并大量调整图像到图像的去噪程度,这很敏感)
- 现在可作为webUI的扩展使用!可在webUI扩展标签页的默认"可用"部分找到
- 注意:扩展仍需在webui-user启动脚本中添加
--api
标志
- 注意:扩展仍需在webui-user启动脚本中添加
- 直观、便捷的外部绘制 - 这不就是重点吗
- 可排队、可取消的绘图 - 只需在各处点击即可
- 任意大小的绘图区域 - 绘制你梦想中的矩形
- 一个实际上无限大、可调整大小和缩放的画布供你绘画
- 注意:v0.0.10引入了新的"相机控制"修饰键 - 按住[
CTRL
]并使用滚轮来缩放(滚动滚轮或在现代触控板上使用双指垂直手势)和平移(按住滚轮按钮,如果没有滚轮按钮,则按住左键)画布
- 注意:v0.0.10引入了新的"相机控制"修饰键 - 按住[
- 对极其有限的A1111扩展列表提供非常基础的支持,包括用于无提示内部绘制和外部绘制的controlnet内部绘制(真的很神奇),以及用于保持现有风格同时替换内容的内联参考预处理器(参考需要在A1111设置中启用至少2个controlnet单元),还有一个非常基础的动态提示开关
- 注意:这个功能很粗糙,非常欢迎提交pull请求,哈哈
- 一个功能完善且熟悉的图层系统
- 保存、加载、导入和导出工作区 - 包括所有图层、历史记录、画布大小等!
- 内部绘制/修饰遮罩笔刷
- 支持webUI脚本(但你得自己找到它)
- 提示历史面板
- 可选的(可见)反转遮罩模式 - 红色遮罩会被修改,蓝色遮罩保持不变,但你不能同时使用两种模式
- 内部绘制颜色笔刷,释放你内心的文森特·范·鲍勃·罗斯
- 专用的图像到图像工具,可选边界遮罩以增强输出与现有主题的一致性
- 选框工具,用于选择区域并任意缩放、旋转、创建印章、移动块、查看下层、进行各种操作
- 可选择分离光标大小和输出分辨率
- 图像分析工具
- 浮动控制面板,可轻松更改每次从潜在空间召唤的绘图的模型/采样器/步数/提示/CFG等选项(注意:切换模型需要A1111 webUI在5a6387e提交或更新版本)
- 带有方便键盘快捷键的浮动工具箱
- 可选的网格对齐功能,提高精确度
- 可选的空白/文本到图像绘图的高分辨率修复
- 注意:自v0.0.12.5/webUI提交ef27a18起,高分辨率修复已完全重写,不再以相同方式工作,因此openOutpaint的实现不再与该版本之前的A1111兼容。在这种情况下,你会收到webUI过时的警告,高分辨率修复选项将仅限于使用[绘图区域尺寸/2]。请查看手册中关于高分辨率修复及其可用选项的条目。
- 可选的过度遮罩,可能改善外部绘制之间的接缝 - 将过度遮罩像素值设为0以禁用此功能
- 导入任意图像并在画布上随时随地旋转/缩放/盖印
- 支持最终输出图像的放大器
- 将你的偏好设置/导入的图像保存到浏览器本地存储,方便至极
- 重置为默认值按钮,以防设置出现问题时取消保存的偏好
- 带有ctrl+z/y键盘快捷键的浮动可导航撤销/重做面板,提供额外的便利性和问题解决能力
- 可选的预先生成功能,在你浏览现有图像的同时继续生成新图像
- 所有这些功能,只需你已经拥有一个昂贵的GPU就可以使用!
操作
注意:请查看有关新HRfix功能的文档,该功能已在webUI提交ef27a18中实现
先决条件
显然,在使用此工具之前,您需要安装A1111的webUI,因此假定您已经有一个可运行的Python环境。
A1111 webUI必须启用--api
标志,并将--cors-allow-origins=
标志设置为openOutpaint将运行的主机。
注意:命令行标志--gradio-debug
会禁用自定义API路由并完全破坏openOutpaint。在运行openOutpaint之前,请从COMMANDLINE_ARGS中删除此标志。
意外的不兼容性
COLAB用户:在安装openOutpaint(和其他webUI扩展)时可能会遇到问题 - 已发现并测试了针对TheLastBen的fast-stable-diffusion的解决方法。请参阅包含解决方法的讨论,该方法需要在colab的最后一个单元格中添加一个命令,并将Enable_API设置为True。
如果openOutpaint出现任何问题,请尝试在另一个浏览器上运行,禁用所有扩展后再试。如果发现新的不兼容扩展,请提出问题,以便我们通知其他用户扩展不兼容性。
- Chrome/Edge的Microsoft Editor扩展似乎会禁用过度遮罩滑块
- 应该已在b128943中修复了Firefox的DuckDuckGo隐私扩展破坏outpainting的问题
- Dark Reader的问题也已修复
快速入门指南
- 编辑您的
cors-allow-origins
以包含https://zero01101.github.io并运行webUI - 访问https://zero01101.github.io/openOutpaint/并填写您的webUI API地址的主机值
- 点击各种选项并开始使用
详细的实用说明
请参阅快速入门wiki文章和全面的使用手册。
拉取请求/错误报告
欢迎提交!详情请参阅贡献指南。
保修
哈哈