Files
chflame163-ComfyUI_LayerStyle/py/gradient_image_v2.py
T

70 lines
2.1 KiB
Python

from .imagefunc import *
NODE_NAME = 'GradientImage V2'
any = AnyType("*")
class GradientImageV2:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(self):
size_list = ['custom']
size_list.extend(load_custom_size())
return {
"required": {
"size": (size_list,),
"custom_width": ("INT", {"default": 512, "min": 4, "max": 99999, "step": 1}),
"custom_height": ("INT", {"default": 512, "min": 4, "max": 99999, "step": 1}),
"angle": ("INT", {"default": 0, "min": -360, "max": 360, "step": 1}),
"start_color": ("STRING", {"default": "#FFFFFF"},),
"end_color": ("STRING", {"default": "#000000"},),
},
"optional": {
"size_as": (any, {}),
}
}
RETURN_TYPES = ("IMAGE", )
RETURN_NAMES = ("image", )
FUNCTION = 'gradient_image_v2'
CATEGORY = '😺dzNodes/LayerUtility'
def gradient_image_v2(self, size, custom_width, custom_height, angle, start_color, end_color, size_as=None):
if size_as is not None:
if size_as.shape[0] > 0:
_asimage = tensor2pil(size_as[0])
else:
_asimage = tensor2pil(size_as)
width, height = _asimage.size
else:
if size == 'custom':
width = custom_width
height = custom_height
else:
try:
_s = size.split('x')
width = int(_s[0].strip())
height = int(_s[1].strip())
except Exception as e:
log(f"Warning: {NODE_NAME} invalid size, check {custom_size_file}", message_type='warning')
width = custom_width
height = custom_height
ret_image = gradient(start_color, end_color, width, height, angle)
return (pil2tensor(ret_image), )
NODE_CLASS_MAPPINGS = {
"LayerUtility: GradientImage V2": GradientImageV2
}
NODE_DISPLAY_NAME_MAPPINGS = {
"LayerUtility: GradientImage V2": "LayerUtility: GradientImage V2"
}