From 7814ed19d947610a8d0bbed5a221982540a4cb2f Mon Sep 17 00:00:00 2001 From: chflame163 <130118553+chflame163@users.noreply.github.com> Date: Sun, 21 Jan 2024 01:19:27 +0800 Subject: [PATCH] update readme --- README.MD | 25 +++++++++++++------------ README_CN.MD | 4 ++-- image/mask_invert_node.png | Bin 0 -> 40344 bytes 3 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 image/mask_invert_node.png diff --git a/README.MD b/README.MD index f26d1d1..cbefdd3 100644 --- a/README.MD +++ b/README.MD @@ -9,7 +9,6 @@ The completed nodes are as follows, and further work is in progress. ## Update * Commit InnerGlow, InnerShadow and MotionBlur nodes. * Renaming all completed nodes, the nodes are divided into 4 groups:LayerStyle, LayerMask, LayerUtility, LayerFilter. workflows containing old version nodes need to be manually replaced with new version nodes. -* Fix OuterGlow, add 3 new options: brightness, light_color and glow_color. * OuterGlow node has undergone significant modifications by adding options for **_brightness_**, **_light_color_**, and **_glow_color_**. * Commit MaskInvert node. * Commit ColorPick node. @@ -50,14 +49,14 @@ Node options: ![image](image/outer_glow_node.png) * background_image1: The background image. * layer_image1: Layer image for composite. -* layer_mask1,2: Mask for layer_image, shadows are generated according to their shape. +* layer_mask1,2: Mask for layer_image, grow are generated according to their shape. * invert_mask: Whether to reverse the mask. * blend_mode3: Blending mode of glow. * opacity: Opacity of glow. * brightness: Luminance of light. * glow_range: range of glow. * blur:blur of glow. -* light_color4: Light color. +* light_color4: Center part color of glow. * glow_color4: Edge part color of glow. ### InnerShadow: @@ -86,15 +85,16 @@ Node options: ![image](image/inner_glow_node.png) * background_image1: The background image. * layer_image1: Layer image for composite. -* layer_mask1,2: Mask for layer_image, shadows are generated according to their shape. +* layer_mask1,2: Mask for layer_image, grow are generated according to their shape. * invert_mask: Whether to reverse the mask. -* blend_mode3: Blending mode of shadows. -* opacity: Opacity of shadow. -* distance_x: Horizontal offset of shadow. -* distance_y: Vertical offset of shadow. -* grow: Shadow expansion amplitude. -* blur: Shadow blur level. -* shadow_color4: Shadow color. +* blend_mode3: Blending mode of glow. +* opacity: Opacity of glow. +* brightness: Luminance of light. +* glow_range: range of glow. +* blur:blur of glow. +* light_color4: Center part color of glow. +* glow_color4: Edge part color of glow. + ### Stroke: Generate a stroke of layer。 @@ -104,7 +104,7 @@ Node options: ![image](image/stroke_node.png) * background_image1: The background image. * layer_image1: Layer image for composite. -* layer_mask1,2: Mask for layer_image, shadows are generated according to their shape. +* layer_mask1,2: Mask for layer_image, stroke are generated according to their shape. * invert_mask: Whether to reverse the mask. * blend_mode3: Blending mode of stroke. * opacity: Opacity of stroke. @@ -130,6 +130,7 @@ Preview the input mask ### MaskInvert: Invert the mask +![image](image/mask_invert_node.png) # LayerUtility diff --git a/README_CN.MD b/README_CN.MD index 8e5c573..24dfed1 100644 --- a/README_CN.MD +++ b/README_CN.MD @@ -81,7 +81,7 @@ ComfyUI ![image](image/inner_glow_node.png) * background_image1: ±³¾°Í¼Ïñ¡£ * layer_image1: ÓÃÓںϳɵIJãͼÏñ¡£ -* layer_mask1,2: ²ãͼÏñµÄÕÚÕÖ£¬Íâ·¢¹â°´´ËÉú³É¡£ +* layer_mask1,2: ²ãͼÏñµÄÕÚÕÖ£¬·¢¹â°´´ËÉú³É¡£ * invert_mask: ÊÇ·ñ·´×ªÕÚÕÖ¡£ * blend_mode3: ·¢¹âµÄ»ìºÏģʽ¡£ * opacity: ·¢¹âµÄ²»Í¸Ã÷¶È¡£ @@ -122,7 +122,7 @@ ComfyUI ### MaskInvert: mask·´×ª - +![image](image/mask_invert_node.png) # LayerUtility diff --git a/image/mask_invert_node.png b/image/mask_invert_node.png new file mode 100644 index 0000000000000000000000000000000000000000..f710903a44a40738ab73068704bf0c7be6891efb GIT binary patch literal 40344 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 D