Files
AlekPet-ComfyUI_Custom_Node…/PainterNode
anupamme feefa546a9 fix: V-004 security vulnerability
Automated security fix generated by OrbisAI Security
2026-08-26 20:30:08 +00:00
..
2023-07-15 15:23:14 +03:00
2026-03-01 19:16:04 +03:00

PainterNode in ComflyUI for ControlNet

PainterNode allows you to draw in the node window, for later use in the ControlNet or in any other node.

Changelog:

2025.07.29 - Add tool Crop canvas

2024.05.10 - Implement piping in an image (issue in an image) (example Piping in an image)

2024.04.11 - Implement MyPaint brush tool (issue MyPaint Brush make)

2024.02.05 - Add Symmetry Brush and change structures toolbar options (examle Symmetry Brush)

Features:

  • Ability to draw shapes (circle, square, triangle, line), and use pencil and erase
  • Set fill color with transparency
  • Set color with transparency and line weight
  • Set the background
  • Use the resize mod to move, rotate and resize drawn objects
  • Prohibition of certain modifications in the change mode, prohibition of movement along certain axes, scaling and rotation
  • Support brushes mypaint (MyPaint Brush tool)

Example

Screenshot PainterNode connecting to ControlNet

Symmetry Brush

Screenshot PainterNode Symmetry Brush

MyPaint Brush (tools)

Screenshot MyPaint Brush

Thanks to Mypaint team and Yap Cheah Shen for his library brushlib.js, none of this would have happened without it 😉!

Rights to brushes belong to their owners, licensing-policy.

List of brushes:

More brushes mypaint is here

NOTE: Not all brushes work correctly (brushlib.js does not support the functions of the latest version of mypaint), use the settings to adjust!

NOTE: All brushes needs converts, using my converter

Convert information:

All avaiables convertered brushes written indise in the file web_alekpet_nodes\assets\painternode\json\brushes_data.json and files brushes to web_alekpet_nodes\assets\painternode\brushes

Use brushConverter.py:

run_converter_python.cmd

Convert brushes (python)
python brushConverter.py convert
Generate list brushes (python)
python brushConverter.py brushes

Use brushConverter.js nodejs:

Convert brushes (nodejs)
npm run convert
Generate list brushes (nodejs)
npm run brushes

Read more in file txt inside folder packs_brushes

Piping

Implemented the ability to connect an image to the PainterNode input, thereby creating piping in image.

There are options to configure piping (button Settings):

  • Add as background
  • Add as image
    • Size adjustment
    • Send to back canvas

There are also options:

  • Change size (change the canvas size in accordance with piping in image at the input)
  • Update image (not update the images of the node with piping in image (Note: you must enable this option so that the mask does not change))

Screenshot Piping

User custom fonts

To add custom fonts, they must be written in the css file: web_alekpet_nodes\css\painternode\painter_node_user_fonts.css

Two variants:

Variant 1: Path to fonts, fonts puts in the web_alekpet_nodes\fonts\painternode, adn add to the code in the css.

@font-face {
  font-family: "Pricedown";
  src: url("./../../fonts/painternode/pricedown.otf") format("opentype");
}

Variant 2: Add url to font in the web_alekpet_nodes\css\painternode\painter_node_user_fonts.css, example used link google fonts.

@import url("https://fonts.googleapis.com/css2?family=Jacquard+12&display=swap");