From d526683f250b39fcd45af7daf1ad481e770c9bb4 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Sat, 7 Oct 2023 19:29:20 +0300 Subject: [PATCH] Add CreateTextMask -node CreateTextMask allows creating text masks --- fonts/TTNorms-Black.otf | Bin 0 -> 152736 bytes nodes.py | 60 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 fonts/TTNorms-Black.otf diff --git a/fonts/TTNorms-Black.otf b/fonts/TTNorms-Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..39f96c80af61c25ca8c35b25b3cb21673cb0d037 GIT binary patch literal 152736 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 E02S4ns{jB1 literal 0 HcmV?d00001 diff --git a/nodes.py b/nodes.py index 811c066..dd09345 100644 --- a/nodes.py +++ b/nodes.py @@ -3,10 +3,12 @@ import torch import torch.nn.functional as F import scipy.ndimage import numpy as np -from PIL import ImageColor, Image +from PIL import ImageColor, Image, ImageDraw, ImageFont +import os from nodes import MAX_RESOLUTION +script_dir = os.path.dirname(os.path.abspath(__file__)) class INTConstant: @classmethod def INPUT_TYPES(s): @@ -50,7 +52,6 @@ class CreateGradientMask: def createmask(self, frames, width, height, invert): # Define the number of images in the batch batch_size = frames - out = [] # Create an empty array to store the image batch image_batch = np.zeros((batch_size, height, width), dtype=np.float32) @@ -66,6 +67,59 @@ class CreateGradientMask: if invert: return (1.0 - torch.stack(out, dim=0),) return (torch.stack(out, dim=0),) + +class CreateTextMask: + + RETURN_TYPES = ("MASK",) + FUNCTION = "createtextmask" + CATEGORY = "KJNodes" + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "invert": ("BOOLEAN", {"default": False}), + "frames": ("INT", {"default": 1,"min": 1, "max": 4096, "step": 1}), + "text_x": ("INT", {"default": 0,"min": 0, "max": 4096, "step": 1}), + "text_y": ("INT", {"default": 0,"min": 0, "max": 4096, "step": 1}), + "font_size": ("INT", {"default": 32,"min": 8, "max": 4096, "step": 1}), + "text": ("STRING", {"default": "HELLO!"}), + "font_path": ("STRING", {"default": "fonts\\TTNorms-Black.otf"}), + "width": ("INT", {"default": 256,"min": 16, "max": 4096, "step": 1}), + "height": ("INT", {"default": 256,"min": 16, "max": 4096, "step": 1}), + "start_rotation": ("INT", {"default": 0,"min": 0, "max": 359, "step": 1}), + "end_rotation": ("INT", {"default": 359,"min": 0, "max": 359, "step": 1}), + }, + } + + def createtextmask(self, frames, width, height, invert, text_x, text_y, text, font_size, font_path, start_rotation, end_rotation): + # Define the number of images in the batch + batch_size = frames + out = [] + rotation = start_rotation + rotation_increment = (end_rotation - start_rotation) / (batch_size - 1) + # Create an empty array to store the image batch + image_batch = np.zeros((batch_size, height, width), dtype=np.float32) + if font_path == "fonts\\TTNorms-Black.otf": #I don't know why relative path won't work otherwise... + font_path = os.path.join(script_dir, font_path) + # Generate the text + for i in range(batch_size): + image = Image.new("RGB", (width, height), "black") + draw = ImageDraw.Draw(image) + font = ImageFont.truetype(font_path, font_size) + text_width, text_height = draw.textsize(text, font=font) + text_center_x = text_x + text_width / 2 + text_center_y = text_y + text_height / 2 + draw.text((text_x, text_y), text, font=font, fill="white") + image = image.rotate(rotation, center=(text_center_x, text_center_y)) + rotation += rotation_increment + image_batch[i] = np.array(image.convert("L")) + output = torch.from_numpy(image_batch) + rotation += 10 + out.append(output) + if invert: + return (1.0 - torch.stack(out, dim=0),) + return (torch.stack(out, dim=0),) class GrowMaskWithBlur: @classmethod @@ -293,6 +347,7 @@ NODE_CLASS_MAPPINGS = { "GrowMaskWithBlur": GrowMaskWithBlur, "ColorToMask": ColorToMask, "CreateGradientMask": CreateGradientMask, + "CreateTextMask": CreateTextMask, } NODE_DISPLAY_NAME_MAPPINGS = { "INTConstant": "INT Constant", @@ -301,4 +356,5 @@ NODE_DISPLAY_NAME_MAPPINGS = { "GrowMaskWithBlur": "GrowMaskWithBlur", "ColorToMask": "ColorToMask", "CreateGradientMask": "CreateGradientMask", + "CreateTextMask" : "CreateTextMask", } \ No newline at end of file