Files
CavinHuang-comfyui-nodes-docs/docs/AddAlpha.md
2024-07-04 08:39:03 +08:00

69 lines
2.0 KiB
Markdown

# Documentation
- Class name: AddAlpha
- Category: Bmad/image
- Output node: False
- Repo Ref: https://github.com/comfyanonymous/ComfyUI
AddAlpha节点旨在为RGB图像添加alpha通道,从而实现图像透明度的操作。它支持多种alpha通道创建方法,包括直接指定或反转,为处理图像透明度提供了灵活性。
# Input types
## Required
- rgb_image
- 需要添加alpha通道的RGB图像。这是将被修改以包含透明度信息的基础图像。
- Comfy dtype: IMAGE
- Python dtype: torch.Tensor
## Optional
- alpha
- 可选的alpha通道,用于添加到RGB图像中。如果提供,它指定了图像的透明度级别。method参数决定了如何应用这个alpha通道。
- Comfy dtype: IMAGE
- Python dtype: torch.Tensor
- method
- 决定如何将alpha通道应用到RGB图像。可以选择直接使用提供的alpha通道('default')或对其进行反转,为透明度操作提供了灵活性。
- Comfy dtype: COMBO[STRING]
- Python dtype: str
# Output types
- image
- 添加了alpha通道的结果图像,使得透明度操作成为可能。
- Comfy dtype: IMAGE
- Python dtype: torch.Tensor
## Usage tips
- Infra type: `GPU`
- Common nodes: unknown
## Source code
```python
class AddAlpha:
method = ["default", "invert"]
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"rgb_image": ("IMAGE",),
},
"optional": {
"alpha": ("IMAGE",),
"method": (s.method, {"default": s.method[0]}),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "add_alpha"
CATEGORY = "Bmad/image"
def add_alpha(self, rgb_image, alpha=None, method=None):
rgb_image = tensor2opencv(rgb_image, 3)
rgba = cv.cvtColor(rgb_image, cv.COLOR_RGB2RGBA)
if alpha is not None:
alpha = tensor2opencv(alpha, 1)
rgba[:, :, 3] = alpha if method == self.method[0] else 255 - alpha
rgba = opencv2tensor(rgba)
return (rgba,)
```