Files
CavinHuang-comfyui-nodes-docs/nodes-docs/en-US/Comfy/docs/JoinImageWithAlpha.md
2024-06-29 18:50:22 +08:00

62 lines
2.0 KiB
Markdown

---
tags:
- AlphaChannel
- Image
---
# Join Image with Alpha
## Documentation
- Class name: `JoinImageWithAlpha`
- Category: `mask/compositing`
- Output node: `False`
This node is designed for compositing operations, specifically to join an image with its corresponding alpha mask to produce a single output image. It effectively combines visual content with transparency information, enabling the creation of images where certain areas are transparent or semi-transparent.
## Input types
### Required
- **`image`**
- The main visual content to be combined with an alpha mask. It represents the image without transparency information.
- Comfy dtype: `IMAGE`
- Python dtype: `torch.Tensor`
- **`alpha`**
- The alpha mask that defines the transparency of the corresponding image. It is used to determine which parts of the image should be transparent or semi-transparent.
- Comfy dtype: `MASK`
- Python dtype: `torch.Tensor`
## Output types
- **`image`**
- Comfy dtype: `IMAGE`
- The output is a single image that combines the input image with the alpha mask, incorporating transparency information into the visual content.
- Python dtype: `torch.Tensor`
## Usage tips
- Infra type: `GPU`
- Common nodes: unknown
## Source code
```python
class JoinImageWithAlpha:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"image": ("IMAGE",),
"alpha": ("MASK",),
}
}
CATEGORY = "mask/compositing"
RETURN_TYPES = ("IMAGE",)
FUNCTION = "join_image_with_alpha"
def join_image_with_alpha(self, image: torch.Tensor, alpha: torch.Tensor):
batch_size = min(len(image), len(alpha))
out_images = []
alpha = 1.0 - resize_mask(alpha, image.shape[1:])
for i in range(batch_size):
out_images.append(torch.cat((image[i][:,:,:3], alpha[i].unsqueeze(2)), dim=2))
result = (torch.stack(out_images),)
return result
```