commit DrawRoundedRectangle node
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# layerstyle advance
|
||||
import folder_paths
|
||||
from .imagefunc import *
|
||||
|
||||
any = AnyType("*")
|
||||
|
||||
class LS_DrawRoundedRectangle:
|
||||
|
||||
def __init__(self):
|
||||
self.NODE_NAME = 'Draw Rounded Rectangle'
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {
|
||||
"size_as": (any, {}),
|
||||
"rounded_rect_radius": ("INT", {"default": 50, "min": 0, "max": 100, "step": 1}),
|
||||
"anti_aliasing": ("INT", {"default": 2, "min": 0, "max": 16, "step": 1}),
|
||||
},
|
||||
"optional": {
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("MASK",)
|
||||
RETURN_NAMES = ("mask",)
|
||||
FUNCTION = 'draw_rounded_rectangle'
|
||||
CATEGORY = '😺dzNodes/LayerMask'
|
||||
|
||||
def draw_rounded_rectangle(self, size_as, rounded_rect_radius, anti_aliasing):
|
||||
|
||||
if size_as.shape[0] > 0:
|
||||
_asimage = tensor2pil(size_as[0])
|
||||
else:
|
||||
_asimage = tensor2pil(size_as)
|
||||
target_width, target_height = _asimage.size
|
||||
|
||||
ret_masks = []
|
||||
mask = Image.new("L", _asimage.size, color='black')
|
||||
bboxes = [(0, 0, target_width, target_height)]
|
||||
mask = draw_rounded_rectangle(mask, rounded_rect_radius, bboxes, anti_aliasing)
|
||||
ret_masks.append(pil2tensor(mask))
|
||||
|
||||
log(f"{self.NODE_NAME} Processed {len(ret_masks)} mask(s).", message_type='finish')
|
||||
return (torch.cat(ret_masks, dim=0),)
|
||||
|
||||
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"LayerMask: DrawRoundedRectangle": LS_DrawRoundedRectangle,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"LayerMask: DrawRoundedRectangle": "LayerMask: DrawRoundedRectangle",
|
||||
}
|
||||
Reference in New Issue
Block a user