Files
chflame163-ComfyUI_LayerStyle/README_CN.MD
T
2024-01-28 16:31:26 +08:00

13 KiB
Raw Blame History

ComfyUI Layer Style

ComfyUI插件,通过一组节点实现仿照Adobe Photoshop的图层样式。

image 节点按照功能分为4组:LayerStyle, LayerMask, LayerUtility和LayerFilter。

  • LayerStyle节点组提供仿照Adobe Photoshop的图层样式。
  • LayerMask节点组提供Mask辅助工具。
  • LayerUtility节点组提供图层合成工具和工作流相关的辅助节点。
  • LayerFilter节点组提供图像效果滤镜。

更新说明

  • 添加MaskGradient节点,可使mask产生渐变。
  • 添加GetColorTone节点,可以获取图片的主色或平均色。添加MaskGrow和MaskEdgeShrink节点。
  • 添加MaskBoxDetect节点,可以通过mask自动探测位置并输出到合成节点。添加XY to Percent节点,将绝对坐标转换为percent坐标。添加GaussianBlur节点。添加GetImageSize节点。
  • 添加ExtendCanvas节点。
  • 添加ImageBlendAdvance节点。这个节点允许合成尺寸不同的背景图和图层,提供了更加自由的合成体验。 添加PrintInfo节点作为工作流调试辅助工具。
  • 添加GradientOverlay,ColorOverlay节点。增加无效mask输入判断,当输入无效mask时将其忽略。
  • 添加InnerGlow, InnerShadow, MotionBlur节点。
  • 所有已完成的节点重新命名,节点分为4组:LayerStyle, LayerMask, LayerUtility, LayerFilter。 因为重新命名,包含旧版节点的工作流需手动替换新版节点。
  • OuterGlow节点修改,增加亮度、灯光颜色、辉光颜色选项。
  • 添加MaskInvert节点。
  • 添加Stroke节点。
  • 添加MaskPreview节点。
  • 添加ImageOpacity节点。
  • layer_mask修改为非必选, 默认使用layer_image的alpha通道,允许通过输入mask改变之,但是尺寸必须一致。
  • 添加ImageBlend节点。
  • 添加OuterGlow节点。
  • 首个节点DropShadow提交。

LayerStyle

image

DropShadow

生成阴影。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,阴影按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 阴影的混合模式。
  • opacity: 阴影的不透明度。
  • distance_x: 阴影的水平方向偏移量。
  • distance_y: 阴影的垂直方向偏移量。
  • grow: 阴影扩张幅度。
  • blur:阴影模糊程度。
  • shadow_color4: 阴影颜色。
  • 节点注解

OuterGlow

生成外发光。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,外发光按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 发光的混合模式。
  • opacity: 发光的不透明度。
  • brightness: 发光亮度。
  • glow_range: 发光范围。
  • blur:发光模糊程度。
  • light_color4: 发光中心颜色。
  • glow_colo4: 辉光外围颜色。
  • 节点注解

InnerShadow

生成内阴影。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,阴影按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 阴影的混合模式。
  • opacity: 阴影的不透明度。
  • distance_x: 阴影的水平方向偏移量。
  • distance_y: 阴影的垂直方向偏移量。
  • grow: 阴影扩张幅度。
  • blur:阴影模糊程度。
  • shadow_color4: 阴影颜色。
  • 节点注解

InnerGlow

生成内发光。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,发光按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 发光的混合模式。
  • opacity: 发光的不透明度。
  • brightness: 发光亮度。
  • glow_range: 发光范围。
  • blur:发光模糊程度。
  • light_color4: 发光中心颜色。
  • glow_colo4: 辉光外围颜色。
  • 节点注解

Stroke

生成描边。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩,描边按此生成。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • stroke_grow: 描边扩张/收缩幅度,正值是扩张,负值是收缩。
  • stroke_width: 描边宽度。
  • stroke_color4: 描边颜色。
  • 节点注解

GradientOverlay

渐变覆盖 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • start_color: 渐变开始端的颜色。
  • start_alpha: 渐变开始端的透明度。
  • end_color: 渐变结束端的颜色。
  • end_alpha: 渐变结束端的透明度。
  • angle: 渐变旋转角度。
  • 节点注解

ColorOverlay

颜色覆盖 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 描边的混合模式。
  • opacity: 不透明度。
  • color: 覆盖的颜色。
  • 节点注解

LayerMask

image

MaskBoxDetect

探测mask所在区域,并输出位置和大小。 image

节点选项说明:
image

  • detect: 探测方法,min_bounding_rect是最小外接矩形, max_inscribed_rect是最大内接矩形。
  • x_adjust: 修正探测之后的水平偏移。
  • y_adjust: 修正探测之后的垂直偏移。
  • scale_adjust: 修正探测之后的缩放偏移。

输出:

  • box_preview: 探测结果预览图。红色表示探测到的结果,绿色表示加上修正后的输出结果。
  • x_percent: 水平位置以百分比输出。
  • y_percent: 垂直位置以百分比输出。
  • width: 宽度输出。
  • height: 高度输出。
  • x: 左上角位置x坐标输出。
  • y: 左上角位置y坐标输出。

MaskGrow

对mask进行扩张收缩边缘和模糊处理

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • grow: 扩张幅度。正值是向外扩张,负值是向内收缩。
  • blur: 模糊。

MaskEdgeShrink

使mask边缘平滑地过渡收缩,并保留边缘细节。

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • shrink_level: 收缩平滑级别。
  • soft: 平滑幅度。
  • edge_shrink: 边缘收缩幅度。
  • edge_reserve: 保留边缘细节幅度, 100为完全保留,0为完全不保留。

MaskGrow与MaskEdgeShrink效果对比 image

MaskGradient

使mask从一侧产生渐变。 image

节点选项说明:
image

  • invert_mask: 是否反转遮罩。
  • gradient_side: 从哪个边产生渐变。有四个方向:顶侧top、底侧bottom、左侧left、右侧right。
  • gradient_scale: 渐变距离。默认值100表示渐变产生一侧完全透明,另一侧完全不透明。数值越小,从透明到不透明的距离越短。
  • gradient_offset: 渐变位置偏移。
  • opacity: 渐变的不透明度。

MaskPreview

预览mask image

MaskInvert

mask反转 image

LayerUtility

image

ImageBlendAdvance

用于合成图层,允许在背景图片上合成与之不同尺寸的图层图片,并且设置位置和变换。提供多种混合模式供选择,可设置透明度。

节点提供了图层变换方法和抗锯齿选项。有助于提高合成画质。

节点提供了mask输出可用于后续工作流。 image

节点选项说明:
image

  • background_image: 背景图像。
  • layer_image5: 用于合成的层图像。
  • layer_mask2,5: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 图层混合模式。
  • opacity: 不透明度。
  • x_percent: 图层在背景图上的水平位置,用百分比表示,最左侧是0,最右侧是100,可以是小于0或者超过100,那表示图层有部分内容在画面之外。
  • y_percent: 图层在背景图上的垂直位置,用百分比表示,最上侧是0,最下侧是100。例如设置为50表示垂直居中,20是偏上,80则是偏下。
  • mirror: 镜像翻转。提供2种翻转模式, 水平翻转和垂直翻转。
  • scale: 图层放大倍数,1.0 表示原大。
  • aspect_ratio: 图层长宽比。1.0 是原始比例,大于此值表示拉长,小于此值表示压扁。
  • rotate: 图层旋转度数。
  • transform_method: 用于图层放大和旋转的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。不同的采样方法会影响合成的画质和画面处理时间。
  • anti_aliasing: 抗锯齿,范围从0-16,数值越大,锯齿越不明显。过高的数值将显著降低节点的处理速度。
  • 节点注解

ImageBlend

一个用于合成图层的简单节点,提供多种混合模式供选择,可设置透明度。 image

节点选项说明:
image

  • background_image1: 背景图像。
  • layer_image1: 用于合成的层图像。
  • layer_mask1,2: 层图像的遮罩。
  • invert_mask: 是否反转遮罩。
  • blend_mode3: 图层混合模式。
  • opacity: 不透明度。
  • 节点注解

ImageOpacity

调整图像不透明度。 image

节点选项说明:

  • image5: 图像输入,支持RGB和RGBA输入。
  • mask2,5: 遮罩输入。
  • invert_mask: 是否反转遮罩。
  • opacity: 不透明度。
  • 节点注解

ColorPicker

在色板上选取颜色并输出。 改自mtb nodes的web extensions。 image

节点选项说明:

  • mode: 输出格式,可选十六进制(HEX)或十进制(DEC)。

输出:

  • string

GetColorTone

从图片中获取主颜色或平均色。 image

节点选项说明: image

  • mode: 模式,有两种可选择,主颜色main_color和平均色average。

输出:

  • string

ExtendCanvas

扩展画布。 image

节点选项说明: image

  • invert_mask: 是否反转遮罩。
  • top: 顶部扩展值。
  • bottom: 底部扩展值。
  • left: 左侧扩展值。
  • right: 右侧扩展值。
  • color; 画布颜色

XY to Percent

image 将绝对坐标转换为百分比坐标。

image 节点选项说明:

  • x: 坐标x值。
  • y: 坐标y值。

GetImageSize

image 获取图片的宽度和高度。

PrintInfo

image 用于给工作流调试提供辅助。当运行时,任何接上这个节点的对象的属性将被打印到控制台。

这个节点允许任意类型的输入。

LayerFilter

image

MotionBlur

运动模糊。 image

节点选项说明:

  • angle: 模糊角度。
  • blur: 模糊大小。

GaussianBlur

高斯模糊。 image

节点选项说明:

  • blur: 模糊大小。

节点注解

1 image、mask和background_image(如果有输入)这三项必须是相同的尺寸。 2 mask不是必须的输入项,默认使用image的alpha通道,如果image输入不包含alpha通道将自动创建整个图像的alpha通道。如果输入mask,原本的alpha通道将被mask覆盖。 3: 混合模式包括normal、multply、screen、add、subtract、difference、darker和lighter。 4: 颜色使用16进制RGB字符串格式描述,例如 '#FA3D86'。 5 image和mask这两项必须是相同的尺寸。

使用示例

在workflow目录下有json格式的工作流示例文件。

以下工作计划中

LayerUtility:

  • image channel split
  • image channel merge

LayerMask:

  • text mask
  • mask subtract
  • mask combine
  • mask diffrent
  • mask gradient

LayerFilter:

  • emboss
  • contour
  • findedge

LayerColor: RGB adjust HSV adjust brightness & contrast adjust LUT apply

安装方法

  • 在CompyUI插件目录(例如“CompyUI\custom_nodes\”)中打开cmd窗口,键入git clone https://github.com/chflame163/ComfyUI_LayerStyle.git安装。或者下载解压zip文件,将得到的文件夹复制到 ComfyUI\custom_nodes\
  • 安装依赖包,在资源管理器ComfyUI\custom_nodes\ComfyUI_WordCloud 插件目录位置打开cmd窗口,输入以下命令:
    ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
  • 重新打开ComfyUI。