hdremover commited on
Commit
536603a
·
verified ·
1 Parent(s): 8b8cf7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -1
app.py CHANGED
@@ -26,6 +26,9 @@ def run_pipeline(
26
  spec_choice: str,
27
  bg_color: str | None,
28
  paper_choice: str,
 
 
 
29
  progress: gr.Progress = gr.Progress(),
30
  ):
31
  """Gradio click handler. Wraps app.process_photo with progress updates
@@ -46,6 +49,9 @@ def run_pipeline(
46
  spec_key=spec_choice,
47
  bg_hex=bg_color,
48
  paper_key=paper_key,
 
 
 
49
  )
50
 
51
  progress(0.9, desc="Finalizing...")
@@ -104,6 +110,20 @@ def build_interface() -> gr.Blocks:
104
  value=PAPER_CHOICES[0],
105
  label="Print Sheet Layout",
106
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  generate_btn = gr.Button("Generate Photo", variant="primary", size="lg")
108
 
109
  with gr.Column(scale=1):
@@ -123,10 +143,19 @@ def build_interface() -> gr.Blocks:
123
 
124
  generate_btn.click(
125
  fn=run_pipeline,
126
- inputs=[inp_image, spec_dropdown, bg_color, paper_dropdown],
 
 
 
127
  outputs=[out_photo, out_sheet, status_box],
128
  )
129
 
 
 
 
 
 
 
130
  gr.Markdown(
131
  """
132
  ---
 
26
  spec_choice: str,
27
  bg_color: str | None,
28
  paper_choice: str,
29
+ zoom: float,
30
+ x_offset: float,
31
+ y_offset: float,
32
  progress: gr.Progress = gr.Progress(),
33
  ):
34
  """Gradio click handler. Wraps app.process_photo with progress updates
 
49
  spec_key=spec_choice,
50
  bg_hex=bg_color,
51
  paper_key=paper_key,
52
+ zoom=zoom,
53
+ x_offset=x_offset,
54
+ y_offset=y_offset,
55
  )
56
 
57
  progress(0.9, desc="Finalizing...")
 
110
  value=PAPER_CHOICES[0],
111
  label="Print Sheet Layout",
112
  )
113
+ with gr.Accordion("Adjust Crop (optional — auto-crop is usually correct)", open=False):
114
+ zoom_slider = gr.Slider(
115
+ minimum=0.5, maximum=2.0, value=1.0, step=0.05,
116
+ label="Zoom (higher = tighter crop on face)",
117
+ )
118
+ x_slider = gr.Slider(
119
+ minimum=-0.5, maximum=0.5, value=0.0, step=0.02,
120
+ label="Shift Left / Right",
121
+ )
122
+ y_slider = gr.Slider(
123
+ minimum=-0.5, maximum=0.5, value=0.0, step=0.02,
124
+ label="Shift Up / Down",
125
+ )
126
+ reset_crop_btn = gr.Button("Reset Crop", size="sm")
127
  generate_btn = gr.Button("Generate Photo", variant="primary", size="lg")
128
 
129
  with gr.Column(scale=1):
 
143
 
144
  generate_btn.click(
145
  fn=run_pipeline,
146
+ inputs=[
147
+ inp_image, spec_dropdown, bg_color, paper_dropdown,
148
+ zoom_slider, x_slider, y_slider,
149
+ ],
150
  outputs=[out_photo, out_sheet, status_box],
151
  )
152
 
153
+ reset_crop_btn.click(
154
+ fn=lambda: (gr.update(value=1.0), gr.update(value=0.0), gr.update(value=0.0)),
155
+ inputs=None,
156
+ outputs=[zoom_slider, x_slider, y_slider],
157
+ )
158
+
159
  gr.Markdown(
160
  """
161
  ---