+ Updated the structure; now the web_alekpet_nodes folder is not deleted or recreated, and no files are copied. + Added a folder with example_workflows + Corrected some README files + Cleaned up the __init__.py file + Update version
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
Symmetry Brush
MyPaint Brush (tools)
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:
-
New version is not working Deevad
Author site: Deevad4
-
Dieterle (doesn't work, not added to brushes)
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))
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");



