Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -59,11 +59,15 @@ def run_pipeline(
|
|
| 59 |
gc.collect()
|
| 60 |
progress(1.0, desc="Done")
|
| 61 |
|
| 62 |
-
status = f"✅
|
| 63 |
if sheet is not None:
|
| 64 |
status += f" · tiled on {paper_key}"
|
| 65 |
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
|
| 68 |
except ValueError as e:
|
| 69 |
# Expected, user-facing errors (no face detected, bad spec, photo
|
|
@@ -127,9 +131,12 @@ def build_interface() -> gr.Blocks:
|
|
| 127 |
generate_btn = gr.Button("Generate Photo", variant="primary", size="lg")
|
| 128 |
|
| 129 |
with gr.Column(scale=1):
|
| 130 |
-
|
| 131 |
-
|
|
|
|
|
|
|
| 132 |
status_box = gr.Markdown()
|
|
|
|
| 133 |
|
| 134 |
# Update the color picker default whenever the standard changes,
|
| 135 |
# so the user sees the correct expected background before they
|
|
@@ -147,7 +154,7 @@ def build_interface() -> gr.Blocks:
|
|
| 147 |
inp_image, spec_dropdown, bg_color, paper_dropdown,
|
| 148 |
zoom_slider, x_slider, y_slider,
|
| 149 |
],
|
| 150 |
-
outputs=[
|
| 151 |
)
|
| 152 |
|
| 153 |
reset_crop_btn.click(
|
|
|
|
| 59 |
gc.collect()
|
| 60 |
progress(1.0, desc="Done")
|
| 61 |
|
| 62 |
+
status = f"✅ **{spec_choice}** — {STANDARDS[spec_choice].width_mm}×{STANDARDS[spec_choice].height_mm}mm @ 300 DPI ({photo.width}×{photo.height}px)"
|
| 63 |
if sheet is not None:
|
| 64 |
status += f" · tiled on {paper_key}"
|
| 65 |
|
| 66 |
+
# ImageSlider needs a (before, after) pair at the same canvas. We
|
| 67 |
+
# hand it (original upload, final result) — Gradio letterboxes/
|
| 68 |
+
# fits internally, so mismatched source aspect ratios display fine;
|
| 69 |
+
# it's a visual compare, not a pixel-aligned overlay.
|
| 70 |
+
return (image, photo), sheet, status
|
| 71 |
|
| 72 |
except ValueError as e:
|
| 73 |
# Expected, user-facing errors (no face detected, bad spec, photo
|
|
|
|
| 131 |
generate_btn = gr.Button("Generate Photo", variant="primary", size="lg")
|
| 132 |
|
| 133 |
with gr.Column(scale=1):
|
| 134 |
+
out_compare = gr.ImageSlider(
|
| 135 |
+
label="Before / After — drag to compare",
|
| 136 |
+
type="pil",
|
| 137 |
+
)
|
| 138 |
status_box = gr.Markdown()
|
| 139 |
+
out_sheet = gr.Image(type="pil", label="Print Sheet")
|
| 140 |
|
| 141 |
# Update the color picker default whenever the standard changes,
|
| 142 |
# so the user sees the correct expected background before they
|
|
|
|
| 154 |
inp_image, spec_dropdown, bg_color, paper_dropdown,
|
| 155 |
zoom_slider, x_slider, y_slider,
|
| 156 |
],
|
| 157 |
+
outputs=[out_compare, out_sheet, status_box],
|
| 158 |
)
|
| 159 |
|
| 160 |
reset_crop_btn.click(
|