3.2 KiB
3.2 KiB
tags
| tags | |||
|---|---|---|---|
|
ImageCompositeMasked
Documentation
- Class name:
ImageCompositeMasked - Category:
image - Output node:
False
The ImageCompositeMasked node is designed for compositing images, allowing for the overlay of a source image onto a destination image at specified coordinates, with optional resizing and masking.
Input types
Required
destination- The destination image onto which the source image will be composited. It serves as the background for the composite operation.
- Comfy dtype:
IMAGE - Python dtype:
torch.Tensor
source- The source image to be composited onto the destination image. This image can optionally be resized to fit the destination image's dimensions.
- Comfy dtype:
IMAGE - Python dtype:
torch.Tensor
x- The x-coordinate in the destination image where the top-left corner of the source image will be placed.
- Comfy dtype:
INT - Python dtype:
int
y- The y-coordinate in the destination image where the top-left corner of the source image will be placed.
- Comfy dtype:
INT - Python dtype:
int
resize_source- A boolean flag indicating whether the source image should be resized to match the destination image's dimensions.
- Comfy dtype:
BOOLEAN - Python dtype:
bool
Optional
mask- An optional mask that specifies which parts of the source image should be composited onto the destination image. This allows for more complex compositing operations, such as blending or partial overlays.
- Comfy dtype:
MASK - Python dtype:
torch.Tensor
Output types
image- Comfy dtype:
IMAGE - The resulting image after the compositing operation, which combines elements of both the source and destination images according to the specified parameters.
- Python dtype:
torch.Tensor
- Comfy dtype:
Usage tips
- Infra type:
GPU - Common nodes:
Source code
class ImageCompositeMasked:
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"destination": ("IMAGE",),
"source": ("IMAGE",),
"x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}),
"y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}),
"resize_source": ("BOOLEAN", {"default": False}),
},
"optional": {
"mask": ("MASK",),
}
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "composite"
CATEGORY = "image"
def composite(self, destination, source, x, y, resize_source, mask = None):
destination = destination.clone().movedim(-1, 1)
output = composite(destination, source.movedim(-1, 1), x, y, mask, 1, resize_source).movedim(1, -1)
return (output,)