Create Text On Path(CreateTextOnPath)
Этот узел принимает JSON-строку, содержащую список координатных точек, чтобы определить путь базовой линии текста
Create Text On Path
Узел Create Text On Path создает маску или пакет масок с указанным текстом. Местоположения задаются центральными точками.
Узел Create Text On Path используется для генерации текста в указанных позициях на изображении с выводом изображения, содержащего текст, текстовой маски и ее инвертированной маски. Он позволяет пользователям задавать центральные точки для каждого экземпляра текста с помощью координат, что позволяет создавать текстовые эффекты, расположенные в произвольных позициях.
Функциональность узла
Этот узел принимает JSON-строку, содержащую список координатных точек, для определения центральных местоположений каждого экземпляра текста. Он использует библиотеку Pillow для рендеринга текста на холсте указанных размеров, поддерживает загрузку пользовательских шрифтов из выпадающего списка доступных шрифтов и может обрабатывать пакетный ввод координат для генерации нескольких изображений и масок с текстом. Основная функция заключается в преобразовании цвета текста в значения градаций серого для маски и генерации соответствующей инвертированной маски.
Описание параметров узла - Create Text On Path
Входные соединения (Inputs)
| Параметр | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
font | КОМБО | Да | - | - | Файл шрифта, используемый для рендеринга текста. Выбирается из доступных шрифтов. |
Параметры управления (Parameters)
| Параметр | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
alignment | КОМБО | Да | center | "left", "center", "right" | Определяет горизонтальное выравнивание текста относительно заданной координатной точки. |
coordinates | СТРОКА | Да | - | - | Список координатных точек, определяющих центральные точки для каждого экземпляра текста. Должен быть правильно отформатированной JSON-строкой, например "[[x1, y1], [x2, y2]]". |
text | СТРОКА | Да | text | - | Текстовое содержимое для рендеринга на изображении. Поддерживает многострочный ввод. |
frame_width | ЦЕЛОЕ | Да | 512 | 16 - 4096 (шаг: 1) | Ширина выходного изображения. Диапазон от 16 до 4096 с шагом 1. |
frame_height | ЦЕЛОЕ | Да | 512 | 16 - 4096 (шаг: 1) | Высота выходного изображения. Диапазон от 16 до 4096 с шагом 1. |
font_size | ЦЕЛОЕ | Да | 42 | - | Размер шрифта для рендеринга текста в пикселях. |
text_color | СТРОКА | Да | white | - | Цвет текста. Поддерживает названия цветов (например, "white") или шестнадцатеричные коды (например, "#FFFFFF"). |
size_multiplier | ПЛАВАЮЩИЙ | Нет | [1] | - | Необязательный множитель размера текста. Если указан, длина его списка должна соответствовать размеру пакета координат или быть broadcast-совместимой. |
Выходные данные (Output)
| Параметр | Тип данных | Описание |
|---|---|---|
| image | Изображение | RGB-изображение с текстом. |
| mask | Маска | Маска текстовой области в градациях серого, где белый представляет текст. |
| mask_inverted | Маска | Инвертированная маска текстовой области, где черный представляет текст. |
Сценарии использования
При создании динамических текстовых заголовков или водяных знаков маску mask, сгенерированную этим узлом, можно подключить к узлам Кодировать VAE или Установить маску шума латента для управления областью генерации или редактирования изображения. Например, можно сначала сгенерировать маску для текста, размещенного в определенных позициях, с помощью этого узла, а затем использовать эту маску для направления ИИ на рисование изображения в этой форме.
Важные замечания
Входной параметр coordinates должен быть правильно отформатированной JSON-строкой, например "[[100, 200], [150, 180], [200, 200]]". Параметр size_multiplier является необязательным; при его указании длина списка должна соответствовать размеру пакета координат или допускать broadcast.
Ссылка на исходный код узла Create Text On Path
Узел Create Text On Path из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.