comfyanonymous
1 year ago
2 changed files with 30 additions and 0 deletions
@ -0,0 +1,29 @@
|
||||
import nodes |
||||
MAX_RESOLUTION = nodes.MAX_RESOLUTION |
||||
|
||||
class ImageCrop: |
||||
@classmethod |
||||
def INPUT_TYPES(s): |
||||
return {"required": { "image": ("IMAGE",), |
||||
"width": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), |
||||
"height": ("INT", {"default": 512, "min": 1, "max": MAX_RESOLUTION, "step": 1}), |
||||
"x": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), |
||||
"y": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION, "step": 1}), |
||||
}} |
||||
RETURN_TYPES = ("IMAGE",) |
||||
FUNCTION = "crop" |
||||
|
||||
CATEGORY = "image/transform" |
||||
|
||||
def crop(self, image, width, height, x, y): |
||||
x = min(x, image.shape[2] - 1) |
||||
y = min(y, image.shape[1] - 1) |
||||
to_x = width + x |
||||
to_y = height + y |
||||
img = image[:,y:to_y, x:to_x, :] |
||||
return (img,) |
||||
|
||||
|
||||
NODE_CLASS_MAPPINGS = { |
||||
"ImageCrop": ImageCrop, |
||||
} |
Loading…
Reference in new issue