From fc764f283416412a70f0f3d3e9109a8b4d882ee4 Mon Sep 17 00:00:00 2001 From: chflame163 Date: Sun, 15 Dec 2024 18:16:27 +0800 Subject: [PATCH] commit AnyRerouter node --- README.MD | 7 +++++++ README_CN.MD | 5 +++++ image/any_rerouter_node.jpg | Bin 0 -> 44415 bytes py/any_rerouter.py | 35 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 5 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 image/any_rerouter_node.jpg create mode 100644 py/any_rerouter.py diff --git a/README.MD b/README.MD index ccdf2f9..765aed5 100644 --- a/README.MD +++ b/README.MD @@ -147,6 +147,7 @@ When this error has occurred, please check the network environment. **If the dependency package error after updating, please double clicking ```repair_dependency.bat``` (for Official ComfyUI Protable) or ```repair_dependency_aki.bat``` (for ComfyUI-aki-v1.x) in the plugin folder to reinstall the dependency packages.
+* Commit [AnyRerouter](#AnyRerouter) node, Used for reroute any type of data. * Commit [ICMask](#ICMask) and [ICMaskCropBack](#ICMaskCropBack) nodes, Used for generating In-Context image and mask, and automatic crop back. The code is from [lrzjason/Comfyui-In-Context-Lora-Utils](https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils) , Thanks to the original author @小志Jason. * Commit [GetMainColorsV2](#GetMainColorsV2) node, add sorting by color area and output color values and proportions in the preview image. This part of the code was improved by @ HL, thanks. * Optimize dependency packages. Optimize some algorithms. @@ -1408,6 +1409,11 @@ Output: * height: The height of image. * original_size: The original size data of the image is used for subsequent node recovery. +### AnyRerouter +![image](image/any_rerouter_node.jpg) +Used for rerouter any type of data, this node allows for any type of input. + + ### ImageHub Switch output from multiple input images and masks, supporting 9 sets of inputs. All input items are optional. if there is only image or mask in a set of input, the missing item will be output as None. @@ -1449,6 +1455,7 @@ Used to provide assistance for workflow debugging. When running, the properties This node allows any type of input. + ### TextBox ![image](image/text_box_node.jpg) diff --git a/README_CN.MD b/README_CN.MD index 4234ca9..940c8ec 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -128,6 +128,7 @@ os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' ## 更新说明 **如果本插件更新后出现依赖包错误,请双击运行插件目录下的```install_requirements.bat```(官方便携包),或 ```install_requirements_aki.bat```(秋叶整合包) 重新安装依赖包。 +* 添加 [AnyRerouter](#AnyRerouter) 节点,用于将任意类型数据中转转发。 * 添加 [ICMask](#ICMask) 和 [ICMaskCropBack](#ICMaskCropBack) 节点,用于生成一致性上下文图片和遮罩,以及自动回裁。代码来自[lrzjason/Comfyui-In-Context-Lora-Utils](https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils) 感谢原作者@小志Jason * 添加 [GetMainColorsV2](#GetMainColorsV2) 节点,增加按颜色面积排序,并在预览图中输出色值和比例。这部分代码由@HL完善,感谢。 * 优化依赖包。优化部分图形算法。 @@ -1251,6 +1252,10 @@ GradientImage的V2升级版。 * height: 图像高度。 * original_size: 图像的原始大小数据,用于后续节点进行恢复。 +### AnyRerouter +![image](image/any_rerouter_node.jpg) +用于将任意类型数据中转转发,这个节点允许任意类型的输入。 + ### ImageHub 从多路输入图片和遮罩中切换其中一组输出,支持9组输入。所有的输入项都是可选项。如果一组输入中只有image或者只有mask, 缺失项将输出为None。 ![image](image/image_hub_example.jpg) diff --git a/image/any_rerouter_node.jpg b/image/any_rerouter_node.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e9020d438d7f9153e8166139eb5b21db753f210 GIT binary patch literal 44415 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