From 4e5b534b0472543cf615345a04f3b661d499c7f3 Mon Sep 17 00:00:00 2001 From: Bouletto <118677264+Bouletto@users.noreply.github.com> Date: Wed, 28 May 2025 00:18:09 +0200 Subject: [PATCH] Initial release - 32 image effect nodes Complete package with Core, Creative, Vintage, Deformation, Light Effects, and Geometric categories --- README.md | 9 +- __init__.py | 146 +++++++ __pycache__/__init__.cpython-312.pyc | Bin 0 -> 4337 bytes __pycache__/ascii_art_node.cpython-312.pyc | Bin 0 -> 7816 bytes __pycache__/ascii_text_node.cpython-312.pyc | Bin 0 -> 6452 bytes .../channel_mixer_node.cpython-312.pyc | Bin 0 -> 3482 bytes .../color_balance_node.cpython-312.pyc | Bin 0 -> 4238 bytes __pycache__/css_filters_node.cpython-312.pyc | Bin 0 -> 4567 bytes __pycache__/curves_node.cpython-312.pyc | Bin 0 -> 5858 bytes __pycache__/kaleidoscope_node.cpython-312.pyc | Bin 0 -> 16658 bytes __pycache__/levels_node.cpython-312.pyc | Bin 0 -> 2468 bytes __pycache__/psd_saver_node.cpython-312.pyc | Bin 0 -> 7160 bytes __pycache__/saver_plus_node.cpython-312.pyc | Bin 0 -> 14200 bytes .../shadow_highlight_node.cpython-312.pyc | Bin 0 -> 3168 bytes __pycache__/text_display_node.cpython-312.pyc | Bin 0 -> 10771 bytes .../text_processor_node.cpython-312.pyc | Bin 0 -> 12085 bytes __pycache__/vibrance_node.cpython-312.pyc | Bin 0 -> 3534 bytes core/__init__.py | 1 + core/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 228 bytes .../channel_mixer_node.cpython-312.pyc | Bin 0 -> 3487 bytes .../color_balance_node.cpython-312.pyc | Bin 0 -> 4243 bytes core/__pycache__/curves_node.cpython-312.pyc | Bin 0 -> 5863 bytes core/__pycache__/levels_node.cpython-312.pyc | Bin 0 -> 2473 bytes .../saver_plus_node.cpython-312.pyc | Bin 0 -> 14205 bytes .../shadow_highlight_node.cpython-312.pyc | Bin 0 -> 3173 bytes .../__pycache__/vibrance_node.cpython-312.pyc | Bin 0 -> 3539 bytes core/channel_mixer_node.py | 80 ++++ core/color_balance_node.py | 78 ++++ core/curves_node.py | 145 +++++++ core/levels_node.py | 74 ++++ core/saver_plus_node.py | 322 ++++++++++++++++ core/shadow_highlight_node.py | 73 ++++ core/vibrance_node.py | 73 ++++ creative/__init__.py | 1 + creative/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 232 bytes .../ascii_art_node.cpython-312.pyc | Bin 0 -> 7825 bytes .../ascii_text_node.cpython-312.pyc | Bin 0 -> 6461 bytes .../css_filters_node.cpython-312.pyc | Bin 0 -> 4576 bytes .../kaleidoscope_node.cpython-312.pyc | Bin 0 -> 16667 bytes creative/ascii_art_node.py | 190 ++++++++++ creative/ascii_text_node.py | 165 ++++++++ creative/css_filters_node.py | 100 +++++ creative/kaleidoscope_node.py | 356 ++++++++++++++++++ deformation/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 219 bytes .../barrel_distortion_node.cpython-312.pyc | Bin 0 -> 3090 bytes .../__pycache__/fisheye_node.cpython-312.pyc | Bin 0 -> 4561 bytes .../__pycache__/pinch_node.cpython-312.pyc | Bin 0 -> 3635 bytes .../__pycache__/ripple_node.cpython-312.pyc | Bin 0 -> 4006 bytes .../__pycache__/spherize_node.cpython-312.pyc | Bin 0 -> 4438 bytes deformation/barrel_distortion_node.py | 72 ++++ deformation/fisheye_node.py | 102 +++++ deformation/pinch_node.py | 90 +++++ deformation/ripple_node.py | 84 +++++ deformation/spherize_node.py | 99 +++++ geometric/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 220 bytes .../crystallize_node.cpython-312.pyc | Bin 0 -> 13416 bytes .../hexagonal_pixelate_node.cpython-312.pyc | Bin 0 -> 6641 bytes .../__pycache__/polygon_node.cpython-312.pyc | Bin 0 -> 6317 bytes .../triangulate_node.cpython-312.pyc | Bin 0 -> 8466 bytes .../__pycache__/voronoi_node.cpython-312.pyc | Bin 0 -> 9135 bytes geometric/crystallize_node.py | 250 ++++++++++++ geometric/hexagonal_pixelate_node.py | 136 +++++++ geometric/polygon_node.py | 136 +++++++ geometric/triangulate_node.py | 168 +++++++++ geometric/voronoi_node.py | 181 +++++++++ light_effects/__init__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 225 bytes .../__pycache__/aurora_node.cpython-312.pyc | Bin 0 -> 5061 bytes .../__pycache__/god_rays_node.cpython-312.pyc | Bin 0 -> 5929 bytes .../holographic_node.cpython-312.pyc | Bin 0 -> 7191 bytes .../lens_flare_node.cpython-312.pyc | Bin 0 -> 10204 bytes .../neon_glow_node.cpython-312.pyc | Bin 0 -> 4455 bytes light_effects/aurora_node.py | 114 ++++++ light_effects/god_rays_node.py | 131 +++++++ light_effects/holographic_node.py | 158 ++++++++ light_effects/lens_flare_node.py | 159 ++++++++ light_effects/neon_glow_node.py | 106 ++++++ requirements.txt | 22 ++ vintage/__init__.py | 1 + vintage/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 209 bytes .../film_grain_node.cpython-312.pyc | Bin 0 -> 5271 bytes .../light_leaks_node.cpython-312.pyc | Bin 0 -> 5822 bytes .../__pycache__/polaroid_node.cpython-312.pyc | Bin 0 -> 7889 bytes .../vhs_glitch_node.cpython-312.pyc | Bin 0 -> 5610 bytes .../vintage_tv_node.cpython-312.pyc | Bin 0 -> 7198 bytes vintage/film_grain_node.py | 110 ++++++ vintage/light_leaks_node.py | 115 ++++++ vintage/polaroid_node.py | 156 ++++++++ vintage/vhs_glitch_node.py | 91 +++++ vintage/vintage_tv_node.py | 125 ++++++ web/css/css_filters.css | 23 ++ web/js/css_filters.js | 45 +++ 94 files changed, 4488 insertions(+), 2 deletions(-) create mode 100644 __init__.py create mode 100644 __pycache__/__init__.cpython-312.pyc create mode 100644 __pycache__/ascii_art_node.cpython-312.pyc create mode 100644 __pycache__/ascii_text_node.cpython-312.pyc create mode 100644 __pycache__/channel_mixer_node.cpython-312.pyc create mode 100644 __pycache__/color_balance_node.cpython-312.pyc create mode 100644 __pycache__/css_filters_node.cpython-312.pyc create mode 100644 __pycache__/curves_node.cpython-312.pyc create mode 100644 __pycache__/kaleidoscope_node.cpython-312.pyc create mode 100644 __pycache__/levels_node.cpython-312.pyc create mode 100644 __pycache__/psd_saver_node.cpython-312.pyc create mode 100644 __pycache__/saver_plus_node.cpython-312.pyc create mode 100644 __pycache__/shadow_highlight_node.cpython-312.pyc create mode 100644 __pycache__/text_display_node.cpython-312.pyc create mode 100644 __pycache__/text_processor_node.cpython-312.pyc create mode 100644 __pycache__/vibrance_node.cpython-312.pyc create mode 100644 core/__init__.py create mode 100644 core/__pycache__/__init__.cpython-312.pyc create mode 100644 core/__pycache__/channel_mixer_node.cpython-312.pyc create mode 100644 core/__pycache__/color_balance_node.cpython-312.pyc create mode 100644 core/__pycache__/curves_node.cpython-312.pyc create mode 100644 core/__pycache__/levels_node.cpython-312.pyc create mode 100644 core/__pycache__/saver_plus_node.cpython-312.pyc create mode 100644 core/__pycache__/shadow_highlight_node.cpython-312.pyc create mode 100644 core/__pycache__/vibrance_node.cpython-312.pyc create mode 100644 core/channel_mixer_node.py create mode 100644 core/color_balance_node.py create mode 100644 core/curves_node.py create mode 100644 core/levels_node.py create mode 100644 core/saver_plus_node.py create mode 100644 core/shadow_highlight_node.py create mode 100644 core/vibrance_node.py create mode 100644 creative/__init__.py create mode 100644 creative/__pycache__/__init__.cpython-312.pyc create mode 100644 creative/__pycache__/ascii_art_node.cpython-312.pyc create mode 100644 creative/__pycache__/ascii_text_node.cpython-312.pyc create mode 100644 creative/__pycache__/css_filters_node.cpython-312.pyc create mode 100644 creative/__pycache__/kaleidoscope_node.cpython-312.pyc create mode 100644 creative/ascii_art_node.py create mode 100644 creative/ascii_text_node.py create mode 100644 creative/css_filters_node.py create mode 100644 creative/kaleidoscope_node.py create mode 100644 deformation/__init__.py create mode 100644 deformation/__pycache__/__init__.cpython-312.pyc create mode 100644 deformation/__pycache__/barrel_distortion_node.cpython-312.pyc create mode 100644 deformation/__pycache__/fisheye_node.cpython-312.pyc create mode 100644 deformation/__pycache__/pinch_node.cpython-312.pyc create mode 100644 deformation/__pycache__/ripple_node.cpython-312.pyc create mode 100644 deformation/__pycache__/spherize_node.cpython-312.pyc create mode 100644 deformation/barrel_distortion_node.py create mode 100644 deformation/fisheye_node.py create mode 100644 deformation/pinch_node.py create mode 100644 deformation/ripple_node.py create mode 100644 deformation/spherize_node.py create mode 100644 geometric/__init__.py create mode 100644 geometric/__pycache__/__init__.cpython-312.pyc create mode 100644 geometric/__pycache__/crystallize_node.cpython-312.pyc create mode 100644 geometric/__pycache__/hexagonal_pixelate_node.cpython-312.pyc create mode 100644 geometric/__pycache__/polygon_node.cpython-312.pyc create mode 100644 geometric/__pycache__/triangulate_node.cpython-312.pyc create mode 100644 geometric/__pycache__/voronoi_node.cpython-312.pyc create mode 100644 geometric/crystallize_node.py create mode 100644 geometric/hexagonal_pixelate_node.py create mode 100644 geometric/polygon_node.py create mode 100644 geometric/triangulate_node.py create mode 100644 geometric/voronoi_node.py create mode 100644 light_effects/__init__.py create mode 100644 light_effects/__pycache__/__init__.cpython-312.pyc create mode 100644 light_effects/__pycache__/aurora_node.cpython-312.pyc create mode 100644 light_effects/__pycache__/god_rays_node.cpython-312.pyc create mode 100644 light_effects/__pycache__/holographic_node.cpython-312.pyc create mode 100644 light_effects/__pycache__/lens_flare_node.cpython-312.pyc create mode 100644 light_effects/__pycache__/neon_glow_node.cpython-312.pyc create mode 100644 light_effects/aurora_node.py create mode 100644 light_effects/god_rays_node.py create mode 100644 light_effects/holographic_node.py create mode 100644 light_effects/lens_flare_node.py create mode 100644 light_effects/neon_glow_node.py create mode 100644 requirements.txt create mode 100644 vintage/__init__.py create mode 100644 vintage/__pycache__/__init__.cpython-312.pyc create mode 100644 vintage/__pycache__/film_grain_node.cpython-312.pyc create mode 100644 vintage/__pycache__/light_leaks_node.cpython-312.pyc create mode 100644 vintage/__pycache__/polaroid_node.cpython-312.pyc create mode 100644 vintage/__pycache__/vhs_glitch_node.cpython-312.pyc create mode 100644 vintage/__pycache__/vintage_tv_node.cpython-312.pyc create mode 100644 vintage/film_grain_node.py create mode 100644 vintage/light_leaks_node.py create mode 100644 vintage/polaroid_node.py create mode 100644 vintage/vhs_glitch_node.py create mode 100644 vintage/vintage_tv_node.py create mode 100644 web/css/css_filters.css create mode 100644 web/js/css_filters.js diff --git a/README.md b/README.md index 13d4f4d..01ba607 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ -# ComfyUI-Image-Effects -Complete collection of image effects for ComfyUI - 32 nodes across 6 categories +# Image Effects - Collection d'effets d'image pour ComfyUI + +Collection complète de nœuds d'effets d'image pour ComfyUI, organisée en 7 catégories. + +## 📦 Installation + +1. Clonez ce repository dans votre dossier `custom_nodes` : diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..da69857 --- /dev/null +++ b/__init__.py @@ -0,0 +1,146 @@ +""" +Image Effects - Collection d'effets d'image pour ComfyUI +Version: 1.0.0 +""" + +# Imports des modules core +from .core.channel_mixer_node import ChannelMixerNode +from .core.color_balance_node import ColorBalanceNode +from .core.curves_node import CurvesNode +from .core.levels_node import LevelsNode +from .core.saver_plus_node import SaverPlusNode +from .core.shadow_highlight_node import ShadowHighlightNode +from .core.vibrance_node import VibranceNode + +# Imports des modules creative +from .creative.ascii_art_node import AsciiArtNode +from .creative.ascii_text_node import AsciiTextNode +from .creative.css_filters_node import CSSFiltersNode +from .creative.kaleidoscope_node import KaleidoscopeNode, KaleidoscopeAdvancedNode + +# Imports des modules vintage +from .vintage.vhs_glitch_node import VHSGlitchNode +from .vintage.film_grain_node import FilmGrainNode +from .vintage.light_leaks_node import LightLeaksNode +from .vintage.vintage_tv_node import VintageTVNode +from .vintage.polaroid_node import PolaroidNode + +# Imports des modules deformation +from .deformation.fisheye_node import FisheyeNode +from .deformation.barrel_distortion_node import BarrelDistortionNode +from .deformation.ripple_node import RippleNode +from .deformation.spherize_node import SpherizeNode +from .deformation.pinch_node import PinchNode + +# Imports des modules light effects +from .light_effects.lens_flare_node import LensFlareNode +from .light_effects.god_rays_node import GodRaysNode +from .light_effects.neon_glow_node import NeonGlowNode +from .light_effects.holographic_node import HolographicNode +from .light_effects.aurora_node import AuroraNode + +# Imports des modules geometric +from .geometric.triangulate_node import TriangulateNode +from .geometric.voronoi_node import VoronoiNode +from .geometric.hexagonal_pixelate_node import HexagonalPixelateNode +from .geometric.crystallize_node import CrystallizeNode +from .geometric.polygon_node import PolygonNode + +NODE_CLASS_MAPPINGS = { + # Core Effects + "ChannelMixerNode": ChannelMixerNode, + "ColorBalanceNode": ColorBalanceNode, + "CurvesNode": CurvesNode, + "LevelsNode": LevelsNode, + "SaverPlusNode": SaverPlusNode, + "ShadowHighlightNode": ShadowHighlightNode, + "VibranceNode": VibranceNode, + + # Creative Effects + "AsciiArtNode": AsciiArtNode, + "AsciiTextNode": AsciiTextNode, + "CSSFiltersNode": CSSFiltersNode, + "KaleidoscopeNode": KaleidoscopeNode, + "KaleidoscopeAdvancedNode": KaleidoscopeAdvancedNode, + + # Vintage Effects + "VHSGlitchNode": VHSGlitchNode, + "FilmGrainNode": FilmGrainNode, + "LightLeaksNode": LightLeaksNode, + "VintageTVNode": VintageTVNode, + "PolaroidNode": PolaroidNode, + + # Deformation + "FisheyeNode": FisheyeNode, + "BarrelDistortionNode": BarrelDistortionNode, + "RippleNode": RippleNode, + "SpherizeNode": SpherizeNode, + "PinchNode": PinchNode, + + # Light effects + "LensFlareNode": LensFlareNode, + "GodRaysNode": GodRaysNode, + "NeonGlowNode": NeonGlowNode, + "HolographicNode": HolographicNode, + "AuroraNode": AuroraNode, + + # Geometric + "TriangulateNode": TriangulateNode, + "VoronoiNode": VoronoiNode, + "HexagonalPixelateNode": HexagonalPixelateNode, + "CrystallizeNode": CrystallizeNode, + "PolygonNode": PolygonNode, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + # Core Effects + "ChannelMixerNode": "🔀 Channel Mixer", + "ColorBalanceNode": "🎨 Color Balance", + "CurvesNode": "📈 RGB Curves", + "LevelsNode": "🎚️ Levels Adjustment", + "SaverPlusNode": "💾 Saver Plus", + "ShadowHighlightNode": "🌗 Shadow/Highlight", + "VibranceNode": "🌈 Vibrance & Saturation", + + # Creative Effects + "AsciiArtNode": "🎭 ASCII Art Generator", + "AsciiTextNode": "📝 ASCII Text Generator", + "CSSFiltersNode": "🎛️ CSS Filters", + "KaleidoscopeNode": "🔮 Kaleidoscope Effect", + "KaleidoscopeAdvancedNode": "✨ Kaleidoscope Advanced", + + # Vintage Effects + "VHSGlitchNode": "📼 VHS Glitch", + "FilmGrainNode": "🎞️ Film Grain", + "LightLeaksNode": "💡 Light Leaks", + "VintageTVNode": "📺 Vintage TV", + "PolaroidNode": "📷 Polaroid Effect", + + # Deformation + "FisheyeNode": "🐠 Fisheye", + "BarrelDistortionNode": "🍐 Barrel Distortion", + "RippleNode": "🌊 Ripple", + "SpherizeNode": "🔵 Spherize", + "PinchNode": "🤏 Pinch", + + # Light effects + "LensFlareNode": "💡 Lens Flare", + "GodRaysNode": "🌞 God Rays", + "NeonGlowNode": "🌟 Neon Glow", + "HolographicNode": "🌈 Holographic", + "AuroraNode": "🌌 Aurora", + + # Geometric + "TriangulateNode": "🔺 Triangulate", + "VoronoiNode": "📐 Voronoi", + "HexagonalPixelateNode": "⬡ Hexagonal Pixelate", + "CrystallizeNode": "❄️ Crystallize", + "PolygonNode": "🔷 Polygon" +} + +__version__ = "1.0.0" + +__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "__version__"] + +print(f"[Image Effects] Package v{__version__} loaded with {len(NODE_CLASS_MAPPINGS)} nodes") +print(f"[Image Effects] Core: 7 nodes, Creative: 5 nodes, Vintage: 5 nodes") diff --git a/__pycache__/__init__.cpython-312.pyc b/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9a222563bd53b0a4b7479fe81f0b09114dd67fde GIT binary patch literal 4337 zcmZ8k$xj^F8LtK!F#FPUv-1G6G)uGC7~6Pjz{YqmL)@6j)L@m${T_71uewlmH#VGn z$YB&YGiYpSq?z&Hi4w_CmRpo$6y+btrKK$Dl!THvr<_vBXf8SB``)X9#+Lol?_1td z-}{#KA8Ko>6!`O^??UQnNKyWYg8!${Bj3C!QIt;=s;CML&=MXnOVpA8@={)EmZ@ce zm+_!ku9gcP
DCbdcM
zYTj&y)R5pcyu}QwVKbsegj~y8%{H}7@H*aZcBmbK*Yi%ZOYIW8fp?odYLDQJoS408
zui#C*&+J$G1#jkO%>i{l@DLv~htwg#TllaURilE3`G`5HjtU;(W9GOzE_f@CnG@=S
z;B9=;oKmL*Z|BqIIrW_29sImGqs|E4$uF3*>a5^h{GxeDy(D-yziiH_bAtEqE9O=8
zs^ElQGq0=H1B#*0URLrvK>Ju3U_UDdJj*Hp2Ur#0Agci!Vs(JStN}2}ngB;w2ym2z
z0moPbaGbRP##jg71nUBvWIcdWtoM0<^|Jvs#G-7Jjk5_h#m=!AHp?!tId+v@r_*25
z|0JN^z}wJsu%?fm2kfUafM@9izyUf7I7lx74$(`1!}Ky>l+FQ;&?|tW^eW&Oy#_c=
zuLH*D4ZsN+2b`qyfKzk s1
zxAHxG>%S-VoD!Y=X>-BZw&Cm+o!y_?^Ueb@XH$zn*1u@llfCuNO@}`iOP_r(S+F}+
zjxHVjVkqBu?2Dn??aYN7{%Cw{NNhZow;xXrg9f&yg1ar-_RyO>ooUH3xz3zZa2 4_TroaTfknths?N1%$9U=Jw6*OLQky$(#4I^QThX
zZ0)wRHGOHZ`?IT`)h$`sH+tCGo@`}rT!UQOhJ<(a8ZdOwu79>aaV1s5*6m84U#+dX
z+d1Ev>`$xMmc5JeT+_x>Rr& &NrhUbV(k64;Q@JtbU`QnDM6i?}f6pd*UZoK`pd-esl5)XwKqqKepOtE+x8WuO^)j
zIzHXIus6LWyX7sm@h#T=R@Qnb-n04#R9G^w9VfF}PO*)rSo^80b)alFWokXnD=u%P
zWT~FyWV$Iml&;Fucl|@tKezpT+p_&_&^{W>D~5X3P@jkxS9&aBJ4sSnPO*CtVn
XFYEQ#W!$f?c;``8|0mYA!tMvPYXJOX#PT+O6nv$;gb)C_a{7-hzW$JLx+W>Rt*
z9>^HCGnchkOjAu`JZV3jt=gNNCGO$K>9J9H^xWyevvb>?zU$rwxdVb3UjQtiiikRQ
zmP5N%&))UjJ6nu?Tnfv@;Dr}RI=felwb$<nBH-J?DxY(Qurm`R97I-Tcf
T;sAy$#=v*x~9N}99B>@mwEN){b3Xps88t9~x*4qXyegu`nH+XVJ6Gd{K%
zN{U8_ak^0`xXMJUTjqv&(Vz%nA