Update app.py
Browse files
app.py
CHANGED
@@ -28,7 +28,7 @@ def add_polygon_vertex(x, y):
|
|
28 |
if len(vertices) > 2 and np.linalg.norm(np.array(vertices[-1]) - np.array(vertices[0])) < 10:
|
29 |
vertices[-1] = vertices[0] # Close the polygon
|
30 |
polygon_drawn = True
|
31 |
-
return
|
32 |
|
33 |
def fit_design():
|
34 |
global design_img, tshirt_img, vertices, polygon_drawn
|
@@ -55,13 +55,12 @@ def rotate_design(angle):
|
|
55 |
return tshirt_img, design_img, design_pos
|
56 |
|
57 |
def display_image(x=0, y=0, angle=0, image_type=None, image=None):
|
58 |
-
global vertices, design_pos
|
59 |
if image_type == "tshirt":
|
60 |
return load_tshirt(image)
|
61 |
elif image_type == "design":
|
62 |
return load_design(image)
|
63 |
elif image_type == "polygon":
|
64 |
-
add_polygon_vertex(x, y)
|
65 |
elif image_type == "fit":
|
66 |
return fit_design()
|
67 |
elif image_type == "rotate":
|
@@ -79,12 +78,12 @@ with gr.Blocks() as demo:
|
|
79 |
design_output = gr.Image(label="Output Design on T-Shirt")
|
80 |
|
81 |
# Upload options for T-shirt and design images
|
82 |
-
tshirt_image.upload(
|
83 |
-
design_image.upload(
|
84 |
|
85 |
# Controls for adding polygon vertices, fitting the design, and rotating
|
86 |
-
gr.Button("Add Polygon Vertex").click(
|
87 |
-
gr.Button("Fit Design").click(display_image
|
88 |
-
rotate_slider.change(
|
89 |
|
90 |
demo.launch(share=True)
|
|
|
28 |
if len(vertices) > 2 and np.linalg.norm(np.array(vertices[-1]) - np.array(vertices[0])) < 10:
|
29 |
vertices[-1] = vertices[0] # Close the polygon
|
30 |
polygon_drawn = True
|
31 |
+
return tshirt_img, design_img, design_pos
|
32 |
|
33 |
def fit_design():
|
34 |
global design_img, tshirt_img, vertices, polygon_drawn
|
|
|
55 |
return tshirt_img, design_img, design_pos
|
56 |
|
57 |
def display_image(x=0, y=0, angle=0, image_type=None, image=None):
|
|
|
58 |
if image_type == "tshirt":
|
59 |
return load_tshirt(image)
|
60 |
elif image_type == "design":
|
61 |
return load_design(image)
|
62 |
elif image_type == "polygon":
|
63 |
+
return add_polygon_vertex(x, y)
|
64 |
elif image_type == "fit":
|
65 |
return fit_design()
|
66 |
elif image_type == "rotate":
|
|
|
78 |
design_output = gr.Image(label="Output Design on T-Shirt")
|
79 |
|
80 |
# Upload options for T-shirt and design images
|
81 |
+
tshirt_image.upload(lambda image: display_image(image_type="tshirt", image=image), tshirt_image)
|
82 |
+
design_image.upload(lambda image: display_image(image_type="design", image=image), [tshirt_output, design_output])
|
83 |
|
84 |
# Controls for adding polygon vertices, fitting the design, and rotating
|
85 |
+
gr.Button("Add Polygon Vertex").click(lambda x, y: display_image(x=x, y=y, image_type="polygon"), [x_coord, y_coord], [tshirt_output, design_output])
|
86 |
+
gr.Button("Fit Design").click(lambda: display_image(image_type="fit"), None, [tshirt_output, design_output])
|
87 |
+
rotate_slider.change(lambda angle: display_image(angle=angle, image_type="rotate"), rotate_slider, [tshirt_output, design_output])
|
88 |
|
89 |
demo.launch(share=True)
|