52 lines
2.2 KiB
Python
52 lines
2.2 KiB
Python
# ComfyUI_DXF/dxf_preview.py
|
|
import time
|
|
import torch
|
|
# --- CORRECTION DE L'IMPORT : On ne charge plus la fonction supprimée ---
|
|
from .dxf_utils import (DXFDoc, _render_internal_rgb_and_mask,
|
|
_to_image_tensor, _to_mask_tensor)
|
|
|
|
class DXFPreview:
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {"required": {
|
|
"dxf": ("DXF",),
|
|
# --- SIMPLIFICATION : Le paramètre "renderer" a été supprimé ---
|
|
"size": ("INT", {"default": 512, "min": 128, "max": 4096, "step": 64}),
|
|
"line_width": ("INT", {"default": 3, "min": 0, "max": 1000}),
|
|
"stroke_hex": ("STRING", {"default": "#000000"}),
|
|
"fill_enabled": ("BOOLEAN", {"default": False}),
|
|
"fill_hex": ("STRING", {"default": "#00A2FF"}),
|
|
"bg_enabled": ("BOOLEAN", {"default": True}),
|
|
"bg_hex": ("STRING", {"default": "#F5F5F5"}),
|
|
"show_grid": ("BOOLEAN", {"default": True}),
|
|
"transparent_bg": ("BOOLEAN", {"default": False}),
|
|
"emit_mask": ("BOOLEAN", {"default": False}),
|
|
}}
|
|
|
|
RETURN_TYPES = ("IMAGE", "MASK")
|
|
RETURN_NAMES = ("image", "mask")
|
|
FUNCTION = "preview"
|
|
CATEGORY = "DAO_master/DXF/Utils"
|
|
|
|
@classmethod
|
|
def IS_CHANGED(cls, **kwargs): return time.time_ns()
|
|
|
|
# --- SIMPLIFICATION : La logique "if renderer" a été supprimée ---
|
|
def preview(self, dxf: DXFDoc, size: int, line_width: int,
|
|
stroke_hex: str, fill_enabled: bool, fill_hex: str, bg_enabled: bool,
|
|
bg_hex: str, show_grid: bool, transparent_bg: bool, emit_mask: bool):
|
|
|
|
# On utilise directement et uniquement notre moteur de rendu interne
|
|
img, mask = _render_internal_rgb_and_mask(
|
|
dxf.msp, size, line_width, stroke_hex,
|
|
fill_enabled, fill_hex, bg_enabled, bg_hex,
|
|
show_grid, transparent_bg
|
|
)
|
|
|
|
img_t = _to_image_tensor(img)
|
|
mask_t = _to_mask_tensor(mask) if emit_mask else torch.zeros((1, img_t.shape[1], img_t.shape[2]), dtype=torch.float32)
|
|
|
|
return (img_t, mask_t)
|
|
|
|
NODE_CLASS_MAPPINGS = {"DXF Preview": DXFPreview}
|
|
NODE_DISPLAY_NAME_MAPPINGS = {"DXF Preview": "DXF Preview (from DXF)"} |