Browse Source

Add ImageCrop node.

pull/2018/head
comfyanonymous 1 year ago
parent
commit
8a451234b3
  1. 29
      comfy_extras/nodes_images.py
  2. 1
      nodes.py

29
comfy_extras/nodes_images.py

@ -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,
}

1
nodes.py

@ -1800,6 +1800,7 @@ def init_custom_nodes():
"nodes_hypertile.py",
"nodes_model_advanced.py",
"nodes_model_downscale.py",
"nodes_images.py",
]
for node_file in extras_files:

Loading…
Cancel
Save