diff --git a/README.md b/README.md index 10a2909..0b46fd3 100644 --- a/README.md +++ b/README.md @@ -1,657 +1,299 @@ -# ComfyUI_DAO_master +# 🎹 ComfyUI_DAO_master -**ComfyUI_DAO_master** est une collection de **custom nodes** pour [ComfyUI](https://github.com/comfyanonymous/ComfyUI). -Ces nodes apportent des outils supplĂ©mentaires pour la crĂ©ation, la manipulation d’image et l’expĂ©rimentation visuelle avec un focus pour le vectoriel +**ComfyUI_DAO_master** est une collection de custom nodes pour **ComfyUI**. +Ces nodes apportent des outils supplĂ©mentaires pour la crĂ©ation, la manipulation d’image et l’expĂ©rimentation visuelle, avec un focus sur les **workflows vectoriels** (DXF & SVG) et les utilitaires de production. --- -## 🚀 Installation +### ✹ Aperçu des fonctionnalitĂ©s -1. TĂ©lĂ©charger ou cloner ce dĂ©pĂŽt dans le dossier `custom_nodes` de votre installation **ComfyUI** : - -```bash -cd ComfyUI/custom_nodes -git clone https://github.com/orion4d/ComfyUI_DAO_master.git -``` - -# Documentation - -## primitives DXF - -Cette catĂ©gorie regroupe les nodes fondamentaux pour la crĂ©ation de formes gĂ©omĂ©triques simples. Ils constituent la base de tout dessin vectoriel. - -**Principe de fonctionnement commun :** -Chaque node de cette catĂ©gorie fonctionne de maniĂšre non-destructive. Il prend un objet `DXF` en entrĂ©e, crĂ©e une copie de son contenu, y ajoute la nouvelle forme, et retourne un nouvel objet `DXF` en sortie. Le document d'origine n'est jamais modifiĂ©. +* **CrĂ©ation Vectorielle DXF :** GĂ©nĂ©rez des formes primitives (cercles, rectangles, polygones...) et assemblez-les. +* **Manipulation SVG :** Effectuez des opĂ©rations boolĂ©ennes (union, diffĂ©rence...), stylisez vos SVG et convertissez-les. +* **Conversion Robuste :** Passez facilement d'une image Ă  un SVG (vectorisation) et d'un SVG Ă  une image (rastĂ©risation). +* **Utilitaires Puissants :** Un sĂ©lecteur de fichiers avancĂ©, des sĂ©lecteurs de couleurs dynamiques, un gĂ©nĂ©rateur de texte complet et des filtres d'image pratiques. +* **Interface AmĂ©liorĂ©e :** De nombreux nodes disposent d'une interface utilisateur interactive avec des menus dĂ©roulants dynamiques pour une utilisation plus intuitive. --- -### DXF Add Circle -Ce node ajoute un cercle Ă  un document DXF. +### 🚀 Installation + +1. Naviguez vers le dossier `custom_nodes` de votre installation ComfyUI. +2. Clonez ce dĂ©pĂŽt : + ```sh + cd ComfyUI/custom_nodes + git clone https://github.com/orion4d/ComfyUI_DAO_master.git + ``` +3. **Installez les dĂ©pendances :** Certains nodes nĂ©cessitent des bibliothĂšques supplĂ©mentaires. Installez-les via pip : + ```sh + pip install cairosvg potrace ezdxf svgpathtools lxml pyclipper shapely + ``` + * **Note :** Le node `Convert IMG to SVG` fonctionne mieux si l'exĂ©cutable `potrace` est installĂ© et accessible dans le PATH de votre systĂšme. + +--- + +### 📚 Documentation des Nodes + +
+📐 DXF : Primitives + +> Cette catĂ©gorie regroupe les nodes fondamentaux pour la crĂ©ation de formes gĂ©omĂ©triques simples. Ils constituent la base de tout dessin vectoriel. +> **Principe de fonctionnement commun :** Chaque node de cette catĂ©gorie fonctionne de maniĂšre non-destructive. Il prend un objet `DXF` en entrĂ©e, crĂ©e une copie de son contenu, y ajoute la nouvelle forme, et retourne un nouvel objet `DXF` en sortie. + +
+DXF Add Circle + +> Ajoute un cercle Ă  un document DXF. -* **Description :** CrĂ©e un cercle dĂ©fini par un point central et un rayon. * **CatĂ©gorie :** `DAO_master/DXF/Primitives` +* **EntrĂ©es :** + * `dxf` (`DXF`): Le document de base. + * `cx`, `cy` (`FLOAT`): CoordonnĂ©es du centre. + * `radius` (`FLOAT`): Rayon du cercle. +* **Sorties :** + * `dxf` (`DXF`): Le nouveau document DXF avec le cercle. -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF de base auquel ajouter la forme. -* `cx` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e X du centre du cercle. -* `cy` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e Y du centre du cercle. -* `radius` (`FLOAT`, dĂ©faut: `10.0`): Le rayon du cercle. Doit ĂȘtre une valeur positive. +
-**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant le cercle ajouté. +
+DXF Add Rectangle / DXF Add Rounded Rectangle ---- +> Ajoute un rectangle (standard ou aux coins arrondis) à un document DXF. -### DXF Add Rectangle -Ce node ajoute un rectangle à un document DXF. - -* **Description :** Crée un rectangle défini par un point d'ancrage, une largeur et une hauteur. * **Catégorie :** `DAO_master/DXF/Primitives` +* **Entrées :** + * `dxf` (`DXF`): Le document de base. + * `x`, `y` (`FLOAT`): Point d'ancrage. + * `width`, `height` (`FLOAT`): Dimensions. + * `radius` (`FLOAT`): Rayon des coins (pour la version arrondie). + * `centered` (`BOOLEAN`): Si `True`, `(x, y)` est le centre ; sinon, c'est le coin inférieur gauche. +* **Sorties :** + * `dxf` (`DXF`): Le nouveau document DXF avec le rectangle. -**Entrées (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `x` (`FLOAT`, défaut: `0.0`): La coordonnée X du point d'ancrage. -* `y` (`FLOAT`, défaut: `0.0`): La coordonnée Y du point d'ancrage. -* `width` (`FLOAT`, défaut: `20.0`): La largeur du rectangle. -* `height` (`FLOAT`, défaut: `10.0`): La hauteur du rectangle. -* `centered` (`BOOLEAN`, défaut: `False`): Si `True`, le point `(x, y)` est le centre du rectangle. Si `False`, c'est le coin inférieur gauche. +
-**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant le rectangle ajouté. +
+DXF Add Polygon / DXF Add Star / DXF Add Triangle ---- +> Ajoute une forme polygonale (polygone rĂ©gulier, Ă©toile ou triangle) Ă  un document DXF. -### DXF Add Rounded Rectangle -Ce node ajoute un rectangle avec des coins arrondis. - -* **Description :** Similaire au rectangle standard, mais permet de spĂ©cifier un rayon pour adoucir les angles. * **CatĂ©gorie :** `DAO_master/DXF/Primitives` +* **EntrĂ©es (Polygone/Étoile) :** + * `dxf` (`DXF`): Le document de base. + * `cx`, `cy` (`FLOAT`): Centre de la forme. + * `outer_radius`, `inner_radius` (`FLOAT`): Rayons pour dĂ©finir les sommets. + * `num_sides` / `num_points` (`INT`): Nombre de cĂŽtĂ©s ou de pointes. +* **EntrĂ©es (Triangle) :** + * `x1, y1, x2, y2, x3, y3` (`FLOAT`): CoordonnĂ©es des trois sommets. +* **Sorties :** + * `dxf` (`DXF`): Le nouveau document DXF avec la forme. -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `x` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e X du point d'ancrage. -* `y` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e Y du point d'ancrage. -* `width` (`FLOAT`, dĂ©faut: `20.0`): La largeur totale du rectangle. -* `height` (`FLOAT`, dĂ©faut: `10.0`): La hauteur totale du rectangle. -* `radius` (`FLOAT`, dĂ©faut: `2.0`): Le rayon des quatre coins arrondis. Si le rayon est `0`, un rectangle standard est dessinĂ©. -* `centered` (`BOOLEAN`, dĂ©faut: `False`): Si `True`, le point `(x, y)` est le centre. Si `False`, c'est le coin infĂ©rieur gauche. +
-**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant le rectangle arrondi. +
+DXF Add Line / DXF Add Ellipse ---- +> Ajoute une ligne ou une ellipse à un document DXF. -### DXF Add Line -Ce node ajoute un segment de ligne simple. - -* **Description :** Dessine une ligne droite entre deux points définis par leurs coordonnées. * **Catégorie :** `DAO_master/DXF/Primitives` +* **Entrées (Ligne) :** + * `x1, y1, x2, y2` (`FLOAT`): Coordonnées des points de départ et d'arrivée. +* **Entrées (Ellipse) :** + * `cx, cy` (`FLOAT`): Centre de l'ellipse. + * `major_axis_x, major_axis_y` (`FLOAT`): Vecteur de l'axe principal (définit la longueur et l'orientation). + * `ratio` (`FLOAT`): Rapport entre l'axe mineur et l'axe majeur. +* **Sorties :** + * `dxf` (`DXF`): Le nouveau document DXF avec la forme. -**Entrées (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `x1` (`FLOAT`, défaut: `0.0`): Coordonnée X du point de départ. -* `y1` (`FLOAT`, défaut: `0.0`): Coordonnée Y du point de départ. -* `x2` (`FLOAT`, défaut: `20.0`): Coordonnée X du point d'arrivée. -* `y2` (`FLOAT`, défaut: `0.0`): Coordonnée Y du point d'arrivée. +
-**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant la ligne ajoutée. +
---- +
+📂 DXF : I/O, Modification et Utilitaires -### DXF Add Polygon -Ce node ajoute un polygone rĂ©gulier. +
+DXF New / DXF Import / DXF Save -* **Description :** Crée un polygone régulier (tous les cÎtés et angles sont égaux) inscrit dans un cercle. -* **Catégorie :** `DAO_master/DXF/Primitives` +> Crée, charge ou sauvegarde des documents DXF. -**Entrées (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `cx` (`FLOAT`, défaut: `0.0`): La coordonnée X du centre du polygone. -* `cy` (`FLOAT`, défaut: `0.0`): La coordonnée Y du centre du polygone. -* `radius` (`FLOAT`, défaut: `10.0`): Le rayon du cercle circonscrit au polygone (la distance du centre à chaque sommet). -* `num_sides` (`INT`, défaut: `6`): Le nombre de cÎtés du polygone (ex: 3 pour un triangle, 5 pour un pentagone, 6 pour un hexagone). +* **Catégorie :** `DAO_master/DXF`, `DAO_master/DXF/IO` +* **Fonctionnalités :** + * **New :** Crée un document DXF vierge en spécifiant les unités. + * **Import :** Charge un fichier `.dxf` depuis le disque. + * **Save :** Sauvegarde un objet DXF en fichier `.dxf`, avec des options d'horodatage. -**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant le polygone ajouté. +
---- +
+DXF Transform -### DXF Add Ellipse -Ce node ajoute une ellipse. +> Applique des transformations gĂ©omĂ©triques (translation, rotation, Ă©chelle) Ă  l'ensemble du dessin. -* **Description :** CrĂ©e une ellipse dĂ©finie par son centre, son axe majeur et le ratio de son axe mineur. -* **CatĂ©gorie :** `DAO_master/DXF/Primitives` - -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `cx` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e X du centre de l'ellipse. -* `cy` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e Y du centre de l'ellipse. -* `major_axis_x` (`FLOAT`, dĂ©faut: `20.0`): Composante X du vecteur de l'axe majeur. Ce vecteur dĂ©finit la longueur et l'orientation de l'ellipse. -* `major_axis_y` (`FLOAT`, dĂ©faut: `0.0`): Composante Y du vecteur de l'axe majeur. -* `ratio` (`FLOAT`, dĂ©faut: `0.5`): Le rapport entre la longueur de l'axe mineur et celle de l'axe majeur (valeur entre 0 et 1). - -**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant l'ellipse ajoutĂ©e. - -* ### DXF Add Star -Ce node ajoute une Ă©toile Ă  un document DXF. - -* **Description :** CrĂ©e une Ă©toile dĂ©finie par un centre, deux rayons (externe et interne) et un nombre de pointes. -* **CatĂ©gorie :** `DAO_master/DXF/Primitives` - -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `cx` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e X du centre de l'Ă©toile. -* `cy` (`FLOAT`, dĂ©faut: `0.0`): La coordonnĂ©e Y du centre de l'Ă©toile. -* `outer_radius` (`FLOAT`, dĂ©faut: `20.0`): Le rayon externe (distance du centre aux pointes de l'Ă©toile). -* `inner_radius` (`FLOAT`, dĂ©faut: `10.0`): Le rayon interne (distance du centre aux creux de l'Ă©toile). -* `num_points` (`INT`, dĂ©faut: `5`): Le nombre de branches/pointes que possĂšde l'Ă©toile. - -**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant l'Ă©toile ajoutĂ©e. - ---- - -### DXF Add Triangle -Ce node ajoute un triangle. - -* **Description :** CrĂ©e un triangle en reliant trois points spĂ©cifiĂ©s par leurs coordonnĂ©es. -* **CatĂ©gorie :** `DAO_master/DXF/Primitives` - -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF de base. -* `x1` (`FLOAT`, dĂ©faut: `0.0`): CoordonnĂ©e X du premier sommet du triangle. -* `y1` (`FLOAT`, dĂ©faut: `0.0`): CoordonnĂ©e Y du premier sommet du triangle. -* `x2` (`FLOAT`, dĂ©faut: `20.0`): CoordonnĂ©e X du deuxiĂšme sommet du triangle. -* `y2` (`FLOAT`, dĂ©faut: `0.0`): CoordonnĂ©e Y du deuxiĂšme sommet du triangle. -* `x3` (`FLOAT`, dĂ©faut: `10.0`): CoordonnĂ©e X du troisiĂšme sommet du triangle. -* `y3` (`FLOAT`, dĂ©faut: `15.0`): CoordonnĂ©e Y du troisiĂšme sommet du triangle. - -**Sorties (Outputs)** -* `dxf` (`DXF`): Le nouveau document DXF contenant le triangle ajoutĂ©. - -## CrĂ©ation et I/O (Input/Output) - -Ces nodes permettent de crĂ©er de nouveaux documents DXF, de les charger depuis un fichier ou de les sauvegarder sur le disque. - ---- - -### DXF New -Ce node est le point de dĂ©part pour la plupart des workflows. Il crĂ©e un document DXF vierge. - -* **Description :** Initialise un nouvel environnement de dessin vectoriel. -* **CatĂ©gorie :** `DAO_master/DXF` - -**EntrĂ©es (Inputs)** -* `units` (`LISTE`, dĂ©faut: `mm`): DĂ©finit l'unitĂ© de mesure principale pour le document (millimĂštres, centimĂštres, pouces, etc.). Cette information est stockĂ©e dans l'en-tĂȘte du fichier DXF. - -**Sorties (Outputs)** -* `dxf` (`DXF`): Un nouvel objet DXF vide, prĂȘt Ă  recevoir des formes. - ---- - -### DXF Import -Ce node permet de charger un fichier DXF existant depuis votre ordinateur. - -* **Description :** Lit un fichier `.dxf` et le convertit en un objet `DXF` utilisable dans ComfyUI. -* **CatĂ©gorie :** `DAO_master/DXF/IO` - -**EntrĂ©es (Inputs)** -* `file_path` (`STRING`): Le chemin d'accĂšs complet vers le fichier DXF Ă  importer. - -**Sorties (Outputs)** -* `dxf` (`DXF`): L'objet DXF contenant la gĂ©omĂ©trie du fichier chargĂ©. - ---- - -### DXF Save -Ce node sauvegarde l'objet DXF en cours dans un fichier `.dxf`. - -* **Description :** Écrit le contenu de l'objet DXF sur le disque. -* **CatĂ©gorie :** `DAO_master/DXF/Utils` - -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF Ă  sauvegarder. -* `directory` (`STRING`, dĂ©faut: `output/dxf`): Le dossier de destination pour le fichier. -* `filename` (`STRING`, dĂ©faut: `shape.dxf`): Le nom du fichier de sortie. -* `timestamp_suffix` (`BOOLEAN`, dĂ©faut: `True`): Si `True`, ajoute un horodatage (date et heure) au nom du fichier pour Ă©viter d'Ă©craser les versions prĂ©cĂ©dentes. -* `save_file` (`BOOLEAN`, dĂ©faut: `True`): Un interrupteur pour activer ou dĂ©sactiver la sauvegarde. Utile pour contrĂŽler l'exĂ©cution dans des workflows complexes. - -**Sorties (Outputs)** -* `dxf` (`DXF`): Le mĂȘme objet DXF passĂ© en entrĂ©e (pass-through). -* `path` (`STRING`): Le chemin d'accĂšs complet du fichier qui a Ă©tĂ© sauvegardĂ©. - ---- - -## Modification - -Cette catĂ©gorie contient les nodes qui altĂšrent la gĂ©omĂ©trie existante. - ---- - -### DXF Transform -Ce node applique des transformations gĂ©omĂ©triques (translation, rotation, Ă©chelle) Ă  l'ensemble du dessin. - -* **Description :** Modifie la position, la taille et l'orientation de toutes les entitĂ©s d'un document DXF. * **CatĂ©gorie :** `DAO_master/DXF/Modify` +* **EntrĂ©es :** + * `translate_x`, `translate_y` (`FLOAT`): DĂ©placement. + * `scale` (`FLOAT`): Facteur d'Ă©chelle. + * `rotation_degrees` (`FLOAT`): Angle de rotation. + * `rotation_center` (`LISTE`): Point pivot (`object_center` ou `origin`). +* **Sorties :** + * `dxf` (`DXF`): Un nouveau document avec la gĂ©omĂ©trie transformĂ©e. -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF Ă  transformer. -* `translate_x` (`FLOAT`, dĂ©faut: `0.0`): DĂ©placement horizontal (gauche/droite). -* `translate_y` (`FLOAT`, dĂ©faut: `0.0`): DĂ©placement vertical (haut/bas). -* `scale` (`FLOAT`, dĂ©faut: `1.0`): Facteur d'Ă©chelle. `1.0` = taille originale, `<1.0` = rĂ©duction, `>1.0` = agrandissement. -* `rotation_degrees` (`FLOAT`, dĂ©faut: `0.0`): Angle de rotation en degrĂ©s. -* `rotation_center` (`LISTE`, dĂ©faut: `object_center`): Le point pivot pour la rotation. - * `object_center`: Le centre gĂ©omĂ©trique de l'ensemble des formes. - * `origin`: Le point d'origine du document (0,0). +
-**Sorties (Outputs)** -* `dxf` (`DXF`): Un nouveau document DXF contenant la géométrie transformée. +
+DXF Preview ---- +> GĂ©nĂšre un aperçu visuel (une image) du contenu d'un objet DXF. -## Utilitaires (Utils) - -Ces nodes fournissent des outils pour visualiser ou analyser les donnĂ©es DXF. - ---- - -### DXF Preview -Ce node gĂ©nĂšre un aperçu visuel (une image) du contenu d'un objet DXF. - -* **Description :** Effectue un rendu rastĂ©risĂ© du dessin vectoriel pour l'afficher dans ComfyUI. * **CatĂ©gorie :** `DAO_master/DXF/Utils` +* **FonctionnalitĂ©s :** ContrĂŽle total sur la taille, l'Ă©paisseur des traits, les couleurs de remplissage/contour, le fond et la grille. Peut Ă©galement gĂ©nĂ©rer un masque. -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document Ă  prĂ©visualiser. -* `size` (`INT`, dĂ©faut: `512`): La rĂ©solution de l'image de sortie (en pixels, `size` x `size`). -* `line_width` (`INT`, dĂ©faut: `3`): L'Ă©paisseur des traits en pixels. -* `stroke_hex` (`STRING`, dĂ©faut: `#000000`): La couleur des traits (format hexadĂ©cimal). -* `fill_enabled` (`BOOLEAN`, dĂ©faut: `False`): Active ou dĂ©sactive le remplissage des formes fermĂ©es. -* `fill_hex` (`STRING`, dĂ©faut: `#00A2FF`): La couleur de remplissage. -* `bg_enabled` (`BOOLEAN`, dĂ©faut: `True`): Active ou dĂ©sactive le fond de l'image. -* `bg_hex` (`STRING`, dĂ©faut: `#F5F5F5`): La couleur du fond. -* `show_grid` (`BOOLEAN`, dĂ©faut: `True`): Affiche une grille en arriĂšre-plan. -* `transparent_bg` (`BOOLEAN`, dĂ©faut: `False`): Si `True`, le fond est transparent (l'image de sortie aura un canal alpha). -* `emit_mask` (`BOOLEAN`, dĂ©faut: `False`): Si `True`, gĂ©nĂšre un masque en niveaux de gris oĂč les formes sont blanches et le fond noir. +
-**Sorties (Outputs)** -* `image` (`IMAGE`): L'image de l'aperçu. -* `mask` (`MASK`): Le masque de la géométrie. +
+DXF Stats ---- +> Analyse un document DXF et en extrait des statistiques. -### DXF Stats -Ce node analyse un document DXF et en extrait des statistiques simples. - -* **Description :** Fournit des informations sur les dimensions et le contenu du dessin. * **Catégorie :** `DAO_master/DXF/Utils` +* **Sorties :** + * `bbox` (`STRING`): La boßte englobante du dessin `(min_x, min_y, max_x, max_y)`. + * `count` (`INT`): Le nombre total d'entités dans le document. -**Entrées (Inputs)** -* `dxf` (`DXF`): Le document à analyser. +
-**Sorties (Outputs)** -* `bbox` (`STRING`): La "bounding box" (boßte englobante), qui représente le plus petit rectangle contenant toutes les formes. Format: `(min_x, min_y, max_x, max_y)`. -* `count` (`INT`): Le nombre total d'entités (lignes, cercles, etc.) dans le document. +
---- +
+🎹 SVG : Manipulation et Conversion -## Conversion +
+SVG Boolean -Ces nodes permettent de passer d'un format de donnĂ©es Ă  un autre. +> Effectue des opĂ©rations boolĂ©ennes (Pathfinder) entre deux formes SVG. ---- - -### DXF to SVG -Ce node convertit un document DXF en code SVG (Scalable Vector Graphics). - -* **Description :** Transforme la gĂ©omĂ©trie DXF en un format SVG textuel, en tentant d'assembler les segments de lignes pour crĂ©er des chemins propres. -* **CatĂ©gorie :** `DAO_master/SVG/Convert` - -**EntrĂ©es (Inputs)** -* `dxf` (`DXF`): Le document DXF Ă  convertir. -* `curve_quality` (`INT`, dĂ©faut: `50`): PrĂ©cision de la conversion des courbes en segments de ligne (plus la valeur est haute, plus c'est prĂ©cis). -* `scale` (`FLOAT`, dĂ©faut: `1.0`): Facteur de zoom appliquĂ© Ă  la `viewBox` du SVG. -* `padding_percent` (`FLOAT`, dĂ©faut: `5.0`): Marge ajoutĂ©e autour du dessin (en pourcentage de sa taille). -* `close_tolerance_percent` (`FLOAT`, dĂ©faut: `0.0`): TolĂ©rance pour joindre des segments de lignes proches et former des polygones fermĂ©s. `0.0` pour une dĂ©tection automatique. -* `fill_rule` (`LISTE`, dĂ©faut: `evenodd`): RĂšgle de remplissage SVG. `evenodd` permet de gĂ©rer correctement les "trous" dans les formes. -* ... (paramĂštres de sauvegarde de fichier identiques Ă  `DXF Save`) - -**Sorties (Outputs)** -* `svg_text` (`SVG_TEXT`): Le contenu complet du fichier SVG sous forme de chaĂźne de caractĂšres. -* `path` (`STRING`): Le chemin d'accĂšs complet du fichier `.svg` sauvegardĂ© (si l'option est activĂ©e). - -* ## Manipulation SVG - -Ces nodes permettent de modifier, combiner et prĂ©visualiser des donnĂ©es au format SVG. - ---- - -### SVG Boolean -Ce node effectue des opĂ©rations boolĂ©ennes (union, diffĂ©rence, etc.) entre deux formes SVG. - -* **Description :** Combine deux gĂ©omĂ©tries SVG pour en crĂ©er une nouvelle. C'est l'Ă©quivalent des fonctions "Pathfinder" dans les logiciels de dessin vectoriel. * **CatĂ©gorie :** `DAO_master/SVG` - -**EntrĂ©es (Inputs)** -* `svg_a` (`SVG_TEXT`): Le premier SVG (sujet). -* `svg_b` (`SVG_TEXT`): Le deuxiĂšme SVG (opĂ©rateur). -* `operation` (`LISTE`): L'opĂ©ration Ă  effectuer : +* **EntrĂ©es :** `svg_a`, `svg_b` +* **OpĂ©rations :** * `union`: Fusionne les deux formes. * `difference`: Soustrait la forme B de la forme A. - * `intersection`: Ne conserve que la zone oĂč les deux formes se superposent. - * `xor`: Ne conserve que les zones oĂč les formes ne se superposent pas. -* `curve_quality` (`INT`, dĂ©faut: `60`): PrĂ©cision utilisĂ©e pour convertir les courbes en segments de lignes avant l'opĂ©ration. Une valeur plus Ă©levĂ©e donne un rĂ©sultat plus prĂ©cis mais peut ĂȘtre plus lente. + * `intersection`: Ne conserve que la zone commune. + * `xor`: Ne conserve que les zones non communes. -**Sorties (Outputs)** -* `svg_text` (`SVG_TEXT`): Le SVG rĂ©sultant de l'opĂ©ration boolĂ©enne. +
---- +
+SVG Style / SVG Preview -### SVG Style -Ce node applique des styles de remplissage et de contour à un SVG. +> Applique des styles ou génÚre un aperçu d'un SVG. -* **Description :** Permet de définir ou de remplacer les attributs de style (`fill`, `stroke`, `stroke-width`) de tous les chemins (``) à l'intérieur d'un SVG. * **Catégorie :** `DAO_master/SVG` +* **Fonctionnalités :** + * **Style :** Permet de définir la couleur de remplissage, la couleur et l'épaisseur du contour. + * **Preview :** Utilise `CairoSVG` pour un rendu de haute qualité avec gestion du ratio d'aspect. -**Entrées (Inputs)** -* `svg_text` (`SVG_TEXT`): Le SVG à styliser. -* `fill_enabled` (`BOOLEAN`, défaut: `True`): Active ou désactive le remplissage. -* `fill_color` (`STRING`, défaut: `#00A2FF`): La couleur de remplissage (format hexadécimal). -* `stroke_color` (`STRING`, défaut: `#000000`): La couleur du contour. -* `stroke_width` (`FLOAT`, défaut: `1.0`): L'épaisseur du contour. Une valeur de `0` désactive le contour. +
-**Sorties (Outputs)** -* `svg_text` (`SVG_TEXT`): Le SVG avec les nouveaux styles appliqués. +
+SVG Load / SVG Save / SVG Passthrough ---- +> Charge, sauvegarde ou convertit le type de données SVG. -### SVG Preview -GénÚre une prévisualisation d'un SVG sous forme d'image. Nécessite l'installation de `cairosvg`. +* **Catégorie :** `DAO_master/SVG/IO`, `DAO_master/SVG/Utils` +* **Fonctionnalités :** + * **Load :** Charge un `.svg` et permet de le redimensionner à la volée. + * **Save :** Sauvegarde du texte SVG dans un fichier `.svg`. + * **Passthrough :** Convertit le type `SVG_TEXT` en `STRING` pour la compatibilité. -* **Description :** Utilise la bibliothÚque CairoSVG pour effectuer un rendu de haute qualité d'un SVG. -* **Catégorie :** `DAO_master/SVG` +
-**EntrĂ©es (Inputs)** -* `svg_text` (`SVG_TEXT`): Le SVG Ă  prĂ©visualiser. -* `width` (`INT`, dĂ©faut: `512`): Largeur de l'image de sortie. -* `height` (`INT`, dĂ©faut: `512`): Hauteur de l'image de sortie. -* `fit_mode` (`LISTE`): GĂšre le redimensionnement du SVG pour l'adapter Ă  la sortie : - * `stretch`: Étire le SVG pour remplir les dimensions `width` x `height`. - * `fit_width`: Ajuste la hauteur pour conserver le ratio d'aspect en fonction de la largeur. - * `fit_height`: Ajuste la largeur pour conserver le ratio d'aspect en fonction de la hauteur. - * `contain`: Redimensionne pour que le SVG soit entiĂšrement visible sans dĂ©formation, centrĂ© dans la zone. -* `bg_enabled` (`BOOLEAN`, dĂ©faut: `False`): Active un fond de couleur unie. -* `bg_color_hex` (`STRING`, dĂ©faut: `#FFFFFF`): Couleur du fond. Si dĂ©sactivĂ©, le fond est transparent. +
+DXF to SVG -**Sorties (Outputs)** -* `image` (`IMAGE`): L'image de l'aperçu. +> Convertit un document DXF en code SVG. ---- - -## I/O SVG (Input/Output) - ---- - -### SVG Load -Charge un fichier SVG depuis le disque et permet de le redimensionner. - -* **Description :** Lit un fichier `.svg`, le parse et permet d'appliquer une transformation d'Ă©chelle Ă  son contenu ou Ă  sa zone de dessin (`canvas`). -* **CatĂ©gorie :** `DAO_master/SVG/IO` - -**EntrĂ©es (Inputs)** -* `file_path` (`STRING`): Chemin d'accĂšs au fichier SVG. -* `scale` (`FLOAT`, dĂ©faut: `1.0`): Facteur d'Ă©chelle appliquĂ© au contenu du SVG. -* `center_on_viewbox` (`BOOLEAN`, dĂ©faut: `True`): Si `True`, la mise Ă  l'Ă©chelle se fait par rapport au centre de la `viewBox` du SVG. -* `scale_canvas` (`BOOLEAN`, dĂ©faut: `False`): Si `True`, met Ă©galement Ă  l'Ă©chelle les attributs `width` et `height` de la balise ``. -* `ensure_viewbox` (`BOOLEAN`, dĂ©faut: `True`): Si le SVG n'a pas de `viewBox` mais a `width` et `height`, en crĂ©e une automatiquement. - -**Sorties (Outputs)** -* `svg_text` (`SVG_TEXT`): Le contenu du fichier SVG (potentiellement modifiĂ©). -* `path` (`STRING`): Le chemin absolu du fichier chargĂ©. - ---- - -### SVG Save -Sauvegarde une chaĂźne de texte SVG dans un fichier `.svg`. - -* **Description :** Écrit le contenu `SVG_TEXT` sur le disque. -* **CatĂ©gorie :** `DAO_master/SVG/IO` - -**EntrĂ©es (Inputs)** -* `svg_text` (`SVG_TEXT`): Le contenu SVG Ă  sauvegarder. -* ... (paramĂštres `directory`, `filename`, `timestamp_suffix` identiques Ă  `DXF Save`) - -**Sorties (Outputs)** -* `path` (`STRING`): Le chemin absolu du fichier sauvegardĂ©. - ---- - -### SVG Passthrough -Convertit un type `SVG_TEXT` en `STRING` standard. - -* **Description :** Node utilitaire simple servant de convertisseur de type pour connecter une sortie `SVG_TEXT` Ă  une entrĂ©e qui attend une `STRING` gĂ©nĂ©rique. -* **CatĂ©gorie :** `DAO_master/SVG/Utils` - -**EntrĂ©es (Inputs)** -* `svg_text` (`SVG_TEXT`): Le SVG en entrĂ©e. - -**Sorties (Outputs)** -* `string` (`STRING`): Le mĂȘme contenu, mais de type `STRING`. - ---- - -## Conversion SVG ↔ Image - ---- - -### Convert SVG → IMG (+colors) -Convertit un SVG en une image rastĂ©risĂ©e et extrait les couleurs utilisĂ©es. - -* **Description :** Un node de conversion avancĂ© qui parse la structure d'un SVG, identifie les formes et leurs couleurs, puis les rend sous forme d'image. Il propose deux moteurs de rendu : un "natif" basĂ© sur PIL et un basĂ© sur "CairoSVG" pour une meilleure compatibilitĂ©. * **CatĂ©gorie :** `DAO_master/SVG/Convert` +* **Description :** Transforme la gĂ©omĂ©trie DXF en un format SVG textuel, en tentant d'assembler intelligemment les segments pour crĂ©er des chemins propres. Offre des contrĂŽles sur la qualitĂ© des courbes et la mise en page. -**EntrĂ©es (Inputs)** -* `svg_text` (`SVG_TEXT`): Le contenu SVG Ă  convertir. -* `svg_path` (`STRING`, optionnel): Chemin vers un fichier SVG, utilisĂ© si `svg_text` est vide. -* `width` (`INT`, dĂ©faut: `512`): Largeur de l'image de sortie (la hauteur est calculĂ©e pour garder le ratio). -* `scale_in_canvas` (`FLOAT`, dĂ©faut: `1.0`): Applique un zoom "dans" le SVG en modifiant sa `viewBox` avant le rendu. -* `transparent_bg` (`BOOLEAN`, dĂ©faut: `False`): Rend l'image avec un fond transparent. -* `background_hex` (`STRING`, dĂ©faut: `#000000`): Couleur de fond si la transparence est dĂ©sactivĂ©e. -* `pad_px` (`INT`, dĂ©faut: `0`): Ajoute une marge (padding) en pixels autour de l'image. -* `keep_alpha_as_mask` (`BOOLEAN`, dĂ©faut: `True`): Si `True`, gĂ©nĂšre un masque basĂ© sur les zones non transparentes de l'image. -* `stroke_only` (`BOOLEAN`, dĂ©faut: `False`): Ne rend que les contours (`stroke`), ignore les remplissages (`fill`). -* `open_subpaths_px` (`INT`, dĂ©faut: `0`): Si supĂ©rieur Ă  0, les chemins ouverts (non fermĂ©s) seront rendus avec cette Ă©paisseur. -* `renderer` (`LISTE`, dĂ©faut: `auto`): Choix du moteur de rendu. `auto` essaie le `native` d'abord, et si le rĂ©sultat semble vide, bascule sur `cairosvg`. +
-**Sorties (Outputs)** -* `image` (`IMAGE`): L'image rastérisée du SVG. -* `mask` (`MASK`): Le masque de l'image. -* `colors_json` (`STRING`): Une chaßne JSON listant toutes les formes détectées avec leur type (`fill`/`stroke`) et leur couleur. +
+Convert SVG → IMG (+colors) ---- +> Convertit un SVG en une image rastĂ©risĂ©e et extrait les couleurs utilisĂ©es. -### Convert IMG → SVG (1-bit) -Convertit une image en un SVG monochrome en utilisant Potrace. - -* **Description :** Ce node binarise une image (la transforme en noir et blanc pur) puis utilise l'algorithme de Potrace pour tracer les contours des formes, gĂ©nĂ©rant ainsi un SVG. * **CatĂ©gorie :** `DAO_master/SVG/Convert` +* **Description :** Un node de conversion avancĂ© avec deux moteurs de rendu (`natif` ou `cairosvg`) pour une compatibilitĂ© maximale. +* **Sorties :** `image`, `mask`, et `colors_json` (un rapport dĂ©taillĂ© des couleurs et formes dĂ©tectĂ©es). -**EntrĂ©es (Inputs)** -* `image` (`IMAGE`): L'image source. -* `threshold` (`INT`, dĂ©faut: `128`): Seuil de luminositĂ© (0-255) pour la binarisation. -* `auto_otsu` (`BOOLEAN`, dĂ©faut: `True`): Si `True`, calcule automatiquement le meilleur seuil (mĂ©thode d'Otsu) et ignore la valeur `threshold`. -* `invert` (`BOOLEAN`, dĂ©faut: `False`): Inverse le noir et le blanc avant le traçage. -* ... (paramĂštres `turdsize`, `alphamax`, etc.) : ParamĂštres avancĂ©s de l'algorithme Potrace pour contrĂŽler la finesse et la simplification du tracĂ©. -* `fill_rule` (`LISTE`, dĂ©faut: `nonzero`): RĂšgle de remplissage pour le SVG gĂ©nĂ©rĂ©. -* `backend` (`LISTE`, dĂ©faut: `auto`): Permet de choisir entre l'exĂ©cutable `potrace` (si installĂ©) ou la bibliothĂšque Python. -* ... (paramĂštres de sauvegarde `save_svg`, `out_dir`, etc.) +
-**Sorties (Outputs)** -* `svg_path` (`STRING`): Le chemin du fichier `.svg` sauvegardé (si l'option est activée). -* `svg_text` (`SVG_TEXT`): Le contenu du SVG généré sous forme de texte. -* `preview` (`IMAGE`): Un aperçu de l'image binarisée qui a été utilisée pour le traçage. +
+Convert IMG → SVG (1-bit) -* ## Utilitaires, Filtres et GĂ©nĂ©rateurs +> Vectorise une image en un SVG monochrome en utilisant Potrace. -Cette section regroupe un ensemble de nodes polyvalents pour la manipulation de couleurs, la crĂ©ation de texte, l'application de filtres sur les images et la sĂ©lection de fichiers. +* **CatĂ©gorie :** `DAO_master/SVG/Convert` +* **Description :** Binarise une image (la transforme en noir et blanc pur) puis utilise l'algorithme de Potrace pour tracer les contours des formes, gĂ©nĂ©rant ainsi un SVG. ---- +
-### Utilitaires de Sélection +
-#### DAO Hex Color Picker -Permet de sélectionner une couleur et de la sortir sous forme d'image et de code hexadécimal. +
+đŸ› ïž Utilitaires, Filtres et GĂ©nĂ©rateurs + +
+DAO Hex/RVB Color Picker + +> Des sĂ©lecteurs de couleurs interactifs pour choisir des couleurs Ă  partir de listes personnalisables. -* **Description :** Ce node offre une interface conviviale pour choisir une couleur, soit manuellement, soit Ă  partir de listes prĂ©dĂ©finies. * **CatĂ©gorie :** `DAO_master/Color` -* **Fonctionnement UI :** Le node transforme les champs `list_file` et `color` en menus dĂ©roulants dynamiques. Vous pouvez crĂ©er vos propres listes de couleurs en ajoutant des fichiers `.txt` dans le dossier `ComfyUI/custom_nodes/ComfyUI_DAO_master/hexadecimal_List/`. Le format d'une ligne est `[Nom de la couleur]{#RRGGBB}`. Un bouton `↻` permet de rafraĂźchir les listes. +* **💡 Fonctionnement UI :** CrĂ©ez vos propres listes de couleurs dans les dossiers `hexadecimal_List/` ou `RGB_List/`. Le node affichera des menus dĂ©roulants pour choisir le fichier et la couleur. Un bouton `↻` permet de rafraĂźchir les listes. +* **Modes :** `Manual`, `Random`, `Increment`, `Decrement`. -**EntrĂ©es (Inputs)** -* `list_file` (`LISTE`): Le fichier `.txt` Ă  utiliser comme source de couleurs. -* `color` (`LISTE`): La couleur Ă  sĂ©lectionner dans la liste. En mode `Manual`, vous pouvez entrer directement un code hexadĂ©cimal. -* `mode` (`LISTE`): Le mode de sĂ©lection de la couleur. - * `Manual`: Utilise la valeur du champ `color`. - * `Random`: SĂ©lectionne une couleur au hasard dans la liste en se basant sur la `seed`. - * `Increment` / `Decrement`: Parcourt la liste de maniĂšre sĂ©quentielle en fonction de la `seed`. -* `seed` (`INT`): Graine utilisĂ©e pour les modes non-manuels. -* `width`/`height` (`INT`): Dimensions de l'image de couleur unie en sortie. +
-**Sorties (Outputs)** -* `image` (`IMAGE`): Une image de couleur unie. -* `hex` (`STRING`): La couleur sélectionnée au format hexadécimal (ex: `#FFFFFF`). +
+Folder File Picker ---- +> Un explorateur de fichiers avancĂ© pour sĂ©lectionner dynamiquement un fichier dans un dossier. -#### DAO RVB Color Picker -Similaire au Hex Color Picker, mais travaille avec des valeurs RVB (Rouge, Vert, Bleu). - -* **Description :** Fournit une sĂ©lection de couleur et la dĂ©compose en ses composantes RVB. -* **CatĂ©gorie :** `DAO_master/Color` -* **Fonctionnement UI :** Identique au Hex Picker, mais les listes de couleurs se trouvent dans `ComfyUI/custom_nodes/ComfyUI_DAO_master/RGB_List/`. Le format est `[Nom de la couleur]{R, G, B}`. - -**EntrĂ©es (Inputs)** -* ... (identiques au Hex Color Picker) -* `mask` (`MASK`, optionnel): Un masque qui sera transmis en sortie. - -**Sorties (Outputs)** -* `image` (`IMAGE`): Une image de couleur unie. -* `hex` (`STRING`): La couleur au format hexadĂ©cimal. -* `R` / `V` / `B` (`STRING`): Les composantes Rouge, Vert et Bleu (0-255) sous forme de chaĂźnes de caractĂšres. -* `RVB` (`STRING`): Les trois composantes combinĂ©es (ex: `255, 255, 255`). -* `mask` (`MASK`): Le masque d'entrĂ©e, ou un masque blanc uni si non fourni. - ---- - -#### Folder File Picker -Un explorateur de fichiers avancĂ© pour sĂ©lectionner un fichier dans un dossier. - -* **Description :** Ce node permet de parcourir un rĂ©pertoire, de filtrer les fichiers par extension ou expression rĂ©guliĂšre (RegEx), de les trier, et de sĂ©lectionner un fichier spĂ©cifique soit manuellement, soit de maniĂšre procĂ©durale via une `seed`. * **CatĂ©gorie :** `DAO_master/IO` -* **Fonctionnement UI :** Le node possĂšde une interface trĂšs interactive. Le champ `index` est remplacĂ© par un menu dĂ©roulant listant les fichiers trouvĂ©s. Tous les champs de filtrage et de tri, ainsi qu'un bouton `↻`, mettent Ă  jour cette liste en temps rĂ©el. +* **💡 Fonctionnement UI :** Une interface trĂšs rĂ©active oĂč tous les paramĂštres de filtrage (extensions, RegEx) et de tri mettent Ă  jour un menu dĂ©roulant listant les fichiers trouvĂ©s en temps rĂ©el. +* **Modes de sĂ©lection :** `manual` (via l'UI), `fixed`, `increment`, `decrement`, `randomize` (pilotĂ© par la `seed`). -**EntrĂ©es (Inputs)** -* **Filtrage et Tri :** - * `directory` (`STRING`): Le dossier Ă  explorer. - * `extensions` (`STRING`): Liste des extensions Ă  inclure, sĂ©parĂ©es par des virgules (ex: `.png, .jpg`). - * `name_regex` (`STRING`): Une expression rĂ©guliĂšre pour filtrer les noms de fichiers. - * `regex_mode` (`LISTE`): `include` (ne garde que les fichiers correspondants) ou `exclude` (retire les fichiers correspondants). - * `recursive` (`BOOLEAN`): Si `True`, explore Ă©galement les sous-dossiers. - * `sort_by` (`LISTE`): CritĂšre de tri (`name`, `mtime` pour date de modification, `size`). - * `descending` (`BOOLEAN`): Inverse l'ordre de tri. -* **SĂ©lection :** - * `index` (`INT`): L'index du fichier Ă  sĂ©lectionner (contrĂŽlĂ© par le menu dĂ©roulant de l'interface). - * `seed_mode` (`LISTE`): MĂ©thode de sĂ©lection automatique. - * `manual`: Utilise l'index du menu dĂ©roulant. - * `fixed`: SĂ©lectionne le fichier Ă  l'index `seed % nombre_de_fichiers`. - * `increment` / `decrement`: Parcourt les fichiers Ă  chaque exĂ©cution. - * `randomize`: SĂ©lectionne un fichier au hasard basĂ© sur la `seed`. - * `seed` (`INT`): Graine pour les modes automatiques. +
-**Sorties (Outputs)** -* `file_path` (`STRING`): Le chemin complet du fichier sélectionné. -* `filename` (`STRING`): Le nom du fichier seul. -* `dir_used` (`STRING`): Le chemin absolu du dossier exploré. -* `files_json` (`STRING`): Une liste de tous les fichiers trouvés, au format JSON. +
+DAO Text Maker ---- +> CrĂ©e une image, un SVG et un masque Ă  partir d'un texte. -### GĂ©nĂ©rateurs - -#### DAO Text Maker -CrĂ©e une image, un SVG et un masque Ă  partir d'un texte. - -* **Description :** Un outil de gĂ©nĂ©ration de texte complet qui offre un contrĂŽle prĂ©cis sur la police, les couleurs, le contour, le fond et le format de sortie. * **CatĂ©gorie :** `DAO_master/Text` -* **Fonctionnement UI :** Le champ `font_file` est un menu dĂ©roulant qui liste les polices disponibles dans le dossier `ComfyUI/custom_nodes/ComfyUI_DAO_master/Fonts/`. +* **💡 Fonctionnement UI :** Le champ `font_file` devient un menu dĂ©roulant listant les polices `.ttf`/`.otf` que vous placez dans le dossier `Fonts/`. +* **FonctionnalitĂ©s :** ContrĂŽle total sur la police, la taille, l'alignement, les couleurs de remplissage/contour, le fond, et la sortie (SVG textuel ou vectorisĂ©). -**EntrĂ©es (Inputs)** -* **Texte et Police :** - * `text` (`STRING`): Le texte Ă  afficher (supporte les sauts de ligne). - * `font_file` (`LISTE`): La police de caractĂšres Ă  utiliser. - * `font_size` (`INT`): La taille de la police. -* **Canevas et Alignement :** - * `canvas_width`/`canvas_height` (`INT`): Dimensions de l'image/SVG de sortie. - * `align` (`LISTE`): Alignement horizontal du texte (`center`, `left`, `right`). -* **Couleurs et Style :** - * `fill_hex`/`fill_alpha`: Couleur et opacitĂ© du remplissage du texte. - * `stroke_width`/`stroke_hex`/`stroke_alpha`: Épaisseur, couleur et opacitĂ© du contour. - * `bg_transparent`/`bg_hex`: Permet de dĂ©finir un fond transparent ou de couleur unie. -* **Options de Sortie :** - * `svg_vectorize` (`BOOLEAN`): Si `True`, gĂ©nĂšre un SVG avec des chemins vectoriels (``), ce qui est idĂ©al pour les logiciels de dessin. Si `False`, gĂ©nĂšre un SVG avec une balise ``. - * `image_rgba` (`BOOLEAN`): Si `True` et que le fond est transparent, l'image de sortie aura un canal alpha. - * `stroke_width_alpha` (`INT`): Ajoute une Ă©paisseur supplĂ©mentaire au `masque` de sortie uniquement, sans affecter l'image visible. Utile pour "grossir" le masque pour des opĂ©rations ultĂ©rieures. +
-**Sorties (Outputs)** -* `image` (`IMAGE`): L'image rastérisée du texte. -* `svg` (`SVG_TEXT`): Le texte au format SVG. -* `mask` (`MASK`): Le masque de la forme du texte. +
+DAO Move ---- +> Applique des transformations (dĂ©placement, Ă©chelle, rotation) et des symĂ©tries Ă  une image. -### Filtres d'Image - -#### DAO Move -Applique des transformations (dĂ©placement, Ă©chelle, rotation) et des symĂ©tries Ă  une image. - -* **Description :** Permet de manipuler la position, la taille et l'orientation d'une image et de son masque associĂ©. * **CatĂ©gorie :** `DAO_master/Utils` +* **Description :** Permet de manipuler la position, la taille et l'orientation d'une image et de son masque associĂ©, avec un contrĂŽle prĂ©cis sur le point de pivot. -**EntrĂ©es (Inputs)** -* `image` (`IMAGE`): L'image Ă  transformer. -* `mask` (`MASK`, optionnel): Un masque Ă  transformer de la mĂȘme maniĂšre. Si non fourni, l'alpha de l'image d'entrĂ©e est utilisĂ©. -* `angle_deg` / `scale` / `dx` / `dy`: ParamĂštres pour la rotation, l'Ă©chelle et la translation. -* `pivot_mode` (`LISTE`): Point de pivot pour la rotation et l'Ă©chelle (`center`, `top_left`, `custom`). -* `pivot_x`/`pivot_y`: CoordonnĂ©es du pivot en mode `custom`. -* `flip_h`/`flip_v`: Applique une symĂ©trie horizontale ou verticale. -* `apply_mask_to_alpha`: Si `True`, le masque transformĂ© est appliquĂ© au canal alpha de l'image de sortie. -* `invert_mask`: Inverse le masque d'entrĂ©e avant de l'utiliser. +
-**Sorties (Outputs)** -* `image` (`IMAGE`): L'image transformée. -* `mask` (`MASK`): Le masque transformé. +
+DAO Blur ---- +> Applique un flou gaussien et peut générer une ombre portée. -#### DAO Blur -Applique un flou gaussien et peut générer une ombre portée. - -* **Description :** Ce node permet non seulement de flouter une image et/ou un masque, mais aussi de créer un effet d'ombre portée personnalisable. * **Catégorie :** `DAO_master/Filter` +* **Description :** Floute une image et/ou un masque, et peut générer une image séparée contenant une ombre portée personnalisable (couleur, opacité, décalage). -**Entrées (Inputs)** -* `image` / `mask` (`IMAGE`/`MASK`, optionnels): Les entrées à flouter. -* `radius` (`FLOAT`): L'intensité (rayon) du flou gaussien. -* `mask_form` (`MASK`, optionnel): Un masque supplémentaire qui agit comme un "emporte-piÚce" pour découper le résultat final. -* **ParamÚtres de l'Ombre Portée :** - * `shadow_opacity`: Opacité de l'ombre (en %). - * `shadow_color`: Couleur de l'ombre au format hexadécimal. - * `move_x`/`move_y`: Décalage de l'ombre par rapport à la forme originale. - * `invert_drop_shadow`: Si `True`, l'ombre est générée à partir du masque inversé. - -**Sorties (Outputs)** -* `image` (`IMAGE`): L'image floutée. -* `mask` (`MASK`): Le masque flouté. -* `drop_shadow` (`IMAGE`): Une image contenant uniquement l'ombre portée. +
+