Files
2025-04-12 22:55:17 +08:00

53 lines
2.2 KiB
Python

from .conf import CURRENT_CATEGORY, CURRENT_FUNCTION
from yors_pano_zero_field import ZeroField
# from yors_pano_ansi_color import log_msg
import numpy as n
from .util import create_shatter_effect
# from ...base_util import dict_read_with_stro
# required,optional
class ShatterEffectAdvNode:
@classmethod
def INPUT_TYPES(s):
# names='input_image,output_dir,frame_count,shard_size,speed,rotation,fade_start'
return {
"required": {
"input_image_path": ZeroField.any(),#STRING,MASK,IMAGE
"output_folder": ("STRING", {"multiline": False, "default": "output_frames"}),
},
"optional": {
"frame_count": ("STRING", {"multiline": False, "default": "30"}),
"shard_size": ("STRING", {"multiline": False, "default": "40"}),
"speed": ("STRING", {"multiline": False, "default": "10"}),
"rotation": ("STRING", {"multiline": False, "default": "5"}),
"fade_start": ("STRING", {"multiline": False, "default": "0"}),
"name_prefix": ("STRING", {"multiline": False, "default": "frame_"}),
"name_id_length": ("STRING", {"multiline": False, "default": "3"}),
"frame_start_index": ("STRING", {"multiline": False, "default": "1"}),
"shard_shape": ("STRING", {"multiline": False, "default": "square"}),
"shard_mask_image": ZeroField.any(),
"shards_area_mask": ZeroField.any(),
"show_image": ("STRING", {"multiline": False, "default": "False"}),
"save_image": ("STRING", {"multiline": False, "default": "True"}),
}
}
RETURN_TYPES = ("STRING","STRING","IMAGE","MASK",)
RETURN_NAMES = ("output_folder","filepaths","images","masks",)
FUNCTION = CURRENT_FUNCTION
CATEGORY = CURRENT_CATEGORY
NODE_DESC = "effect shatter (1.0)"
OUTPUT_NODE = True
def exec(self, **kwargs):
files,images,masks,has_non_empty_mask = create_shatter_effect(kwargs)
# last_tensor = get_last_frame(input_image,files)
output_folder = kwargs.get('output_folder')
return (output_folder,'\n'.join(files),images,masks)