Animal-Grid-Vectorizer / app /ui /processing_components.py
MakiAi's picture
Upload 84 files
ad8cacf verified
"""
Processing-related UI components.
"""
import gradio as gr
from app.ui.components_common import EMOJI
def create_svg_components():
"""Create SVG conversion components."""
with gr.Group():
gr.Markdown(f"## {EMOJI['settings']} SVG変換設定")
with gr.Accordion(f"{EMOJI['settings']} 詳細設定", open=False):
color_mode = gr.Radio(
choices=["color", "binary"],
value="color",
label="カラーモード"
)
hierarchical = gr.Radio(
choices=["stacked", "cutout"],
value="stacked",
label="階層モード"
)
mode = gr.Radio(
choices=["spline", "polygon", "none"],
value="spline",
label="トレースモード"
)
filter_speckle = gr.Slider(
minimum=0, maximum=128, value=10, step=1,
label="ノイズフィルタ (0-128)"
)
color_precision = gr.Slider(
minimum=1, maximum=8, value=6, step=1,
label="色精度 (1-8)"
)
corner_threshold = gr.Slider(
minimum=0, maximum=180, value=60, step=1,
label="角度閾値 (0-180)"
)
return (
color_mode, hierarchical, mode,
filter_speckle, color_precision, corner_threshold
)
def create_process_button():
"""Create process button component."""
return gr.Button(
f"{EMOJI['magic']} 処理開始",
variant="primary"
)
def create_grid_display_option():
"""Create grid display option component."""
return gr.Checkbox(
label=f"{EMOJI['grid']} グリッド表示",
value=True,
info="SVGをグリッド状に配置して表示"
)