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

63 lines
1.9 KiB
Markdown

# Documentation
- Class name: ImageAlphaComposite
- Category: Art Venture/Utils
- Output node: False
- Repo Ref: https://github.com/comfyanonymous/ComfyUI
ImageAlphaComposite节点用于根据两张图片的alpha通道值将它们混合在一起,生成一张合成图像。这个过程涉及将两张输入图像的视觉元素组合成一张图像,同时考虑透明度和图层效果。
# Input types
## Required
- image_i
- 参与合成的第二张图像。它作为alpha合成过程中的另一个基础层,与第一张图像叠加在一起。
- Comfy dtype: IMAGE
- Python dtype: torch.Tensor
# Output types
- image
- 经过alpha合成后得到的结果图像,基于输入图像的alpha值将它们混合在一起。
- Comfy dtype: IMAGE
- Python dtype: torch.Tensor
## Usage tips
- Infra type: `GPU`
- Common nodes: unknown
## Source code
```python
class UtilImageAlphaComposite:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"image_1": ("IMAGE",),
"image_2": ("IMAGE",),
}
}
RETURN_TYPES = ("IMAGE",)
CATEGORY = "Art Venture/Utils"
FUNCTION = "image_alpha_composite"
def image_alpha_composite(self, image_1: torch.Tensor, image_2: torch.Tensor):
if image_1.shape[0] != image_2.shape[0]:
raise Exception("Images must have the same amount")
if image_1.shape[1] != image_2.shape[1] or image_1.shape[2] != image_2.shape[2]:
raise Exception("Images must have the same size")
composited_images = []
for i, im1 in enumerate(image_1):
composited = Image.alpha_composite(
tensor2pil(im1).convert("RGBA"),
tensor2pil(image_2[i]).convert("RGBA"),
)
composited_images.append(pil2tensor(composited))
return (torch.cat(composited_images, dim=0),)
```