Implemented better mobile display.
Browse files- app.py +14 -4
- assets/title.html +91 -0
- assets/title.md +0 -20
app.py
CHANGED
|
@@ -314,19 +314,28 @@ css = """
|
|
| 314 |
max-width: 100%;
|
| 315 |
}
|
| 316 |
#example-images .gallery-item {
|
| 317 |
-
flex: 0 0
|
| 318 |
-
max-width:
|
| 319 |
box-sizing: border-box;
|
| 320 |
display: flex;
|
| 321 |
text-align: center;
|
| 322 |
justify-content: center;
|
| 323 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 324 |
}
|
| 325 |
"""
|
| 326 |
|
| 327 |
with gr.Blocks(css=css) as WeShop:
|
| 328 |
current_did = gr.State(value='')
|
| 329 |
-
gr.HTML(load_description("assets/title.
|
| 330 |
with gr.Row():
|
| 331 |
with gr.Column():
|
| 332 |
gr.Markdown("#### Step 1: Upload a garment image")
|
|
@@ -389,6 +398,7 @@ with gr.Blocks(css=css) as WeShop:
|
|
| 389 |
"assets/examples/result_06_03.png"],
|
| 390 |
],
|
| 391 |
inputs=[main_image_input, background_image_input, output],
|
|
|
|
| 392 |
)
|
| 393 |
main_image_input.upload(
|
| 394 |
fn=preprocess_image,
|
|
|
|
| 314 |
max-width: 100%;
|
| 315 |
}
|
| 316 |
#example-images .gallery-item {
|
| 317 |
+
flex: 0 0 30%;
|
| 318 |
+
max-width: 30%;
|
| 319 |
box-sizing: border-box;
|
| 320 |
display: flex;
|
| 321 |
text-align: center;
|
| 322 |
justify-content: center;
|
| 323 |
+
|
| 324 |
+
}
|
| 325 |
+
@media (max-width: 767px) {
|
| 326 |
+
#example-res-images th {
|
| 327 |
+
font-size: 12px;
|
| 328 |
+
word-wrap: break-word;
|
| 329 |
+
word-break: break-word;
|
| 330 |
+
white-space: normal;
|
| 331 |
+
overflow-wrap: break-word;
|
| 332 |
+
}
|
| 333 |
}
|
| 334 |
"""
|
| 335 |
|
| 336 |
with gr.Blocks(css=css) as WeShop:
|
| 337 |
current_did = gr.State(value='')
|
| 338 |
+
gr.HTML(load_description("assets/title.html"))
|
| 339 |
with gr.Row():
|
| 340 |
with gr.Column():
|
| 341 |
gr.Markdown("#### Step 1: Upload a garment image")
|
|
|
|
| 398 |
"assets/examples/result_06_03.png"],
|
| 399 |
],
|
| 400 |
inputs=[main_image_input, background_image_input, output],
|
| 401 |
+
elem_id="example-res-images",
|
| 402 |
)
|
| 403 |
main_image_input.upload(
|
| 404 |
fn=preprocess_image,
|
assets/title.html
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<title>WeShopAI Virtual Try-On</title>
|
| 6 |
+
<style>
|
| 7 |
+
.title-text {
|
| 8 |
+
display: flex;
|
| 9 |
+
justify-content: center;
|
| 10 |
+
align-items: center;
|
| 11 |
+
text-align: center;
|
| 12 |
+
font-size: 40px;
|
| 13 |
+
}
|
| 14 |
+
|
| 15 |
+
.center-content {
|
| 16 |
+
display: flex;
|
| 17 |
+
justify-content: center;
|
| 18 |
+
align-items: center;
|
| 19 |
+
text-align: center;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
.content-text {
|
| 23 |
+
text-align: center;
|
| 24 |
+
font-size: 14px;
|
| 25 |
+
padding-right: 10%;
|
| 26 |
+
padding-left: 10%;
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
@media (max-width: 767px) {
|
| 30 |
+
.title-text {
|
| 31 |
+
font-size: 30px;
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
.content-text {
|
| 35 |
+
font-size: 12px;
|
| 36 |
+
padding-right: 2%;
|
| 37 |
+
padding-left: 2%;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
@media (max-width: 450px) {
|
| 43 |
+
.title-text {
|
| 44 |
+
font-size: 24px;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
.content-text {
|
| 48 |
+
font-size: 12px;
|
| 49 |
+
padding-right: 0;
|
| 50 |
+
padding-left: 0;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
@media (max-width: 360px) {
|
| 56 |
+
.title-text {
|
| 57 |
+
font-size: 22px;
|
| 58 |
+
}
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
</style>
|
| 62 |
+
</head>
|
| 63 |
+
<body>
|
| 64 |
+
<div>
|
| 65 |
+
<div>
|
| 66 |
+
<div class="title-text">
|
| 67 |
+
<b>WeShopAI Virtual Try-On</b>
|
| 68 |
+
</div>
|
| 69 |
+
<br>
|
| 70 |
+
<div class="center-content">
|
| 71 |
+
<a href="https://www.weshop.com/"><img
|
| 72 |
+
src="https://img.shields.io/static/v1?label=Official Website&message=CN&color=red"></a>  
|
| 73 |
+
<a href="https://www.weshop.ai/"><img
|
| 74 |
+
src="https://img.shields.io/static/v1?label=Official Website&message=EN&color=blue"></a>
|
| 75 |
+
</div>
|
| 76 |
+
<br>
|
| 77 |
+
<div class="content-text">
|
| 78 |
+
Commercial clients are encouraged to evaluate the API capabilities offered at weshop.ai.
|
| 79 |
+
<a href="https://open.weshop.ai/authorization/apikey" style="font-weight: bold;" target="_blank">Get an API
|
| 80 |
+
Key</a> to explore further.
|
| 81 |
+
</div>
|
| 82 |
+
<br>
|
| 83 |
+
<div class="content-text">
|
| 84 |
+
<strong>Disclaimer: </strong>The WeShopAI-Virtual-Try-On Demo on HuggingFace space is free for trials. Any
|
| 85 |
+
solicitation for payment based on the free features we provide on HuggingFace Space is a fraudulent act.
|
| 86 |
+
Beware of scams and do not fall victim to deceit.
|
| 87 |
+
</div>
|
| 88 |
+
</div>
|
| 89 |
+
</div>
|
| 90 |
+
</body>
|
| 91 |
+
</html>
|
assets/title.md
DELETED
|
@@ -1,20 +0,0 @@
|
|
| 1 |
-
<div>
|
| 2 |
-
<div>
|
| 3 |
-
<div style="display: flex; justify-content: center; align-items: center; text-align: center; font-size: 40px;">
|
| 4 |
-
<b>WeShopAI Virtual Try-On</b>
|
| 5 |
-
</div>
|
| 6 |
-
<br>
|
| 7 |
-
<div style="display: flex; justify-content: center; align-items: center; text-align: center;">
|
| 8 |
-
<a href="https://www.weshop.com/"><img src="https://img.shields.io/static/v1?label=Official Website&message=CN&color=red"></a>  
|
| 9 |
-
<a href="https://www.weshop.ai/"><img src="https://img.shields.io/static/v1?label=Official Website&message=EN&color=blue"></a>
|
| 10 |
-
</div>
|
| 11 |
-
<br>
|
| 12 |
-
<div style="text-align: center; font-size: 14px; padding-right: 200px; padding-left: 200px;">
|
| 13 |
-
Commercial clients are encouraged to evaluate the API capabilities offered at weshop.ai. <a href="https://open.weshop.ai/authorization/apikey" style="font-weight: bold;" target="_blank">Get an API Key</a> to explore further.
|
| 14 |
-
</div>
|
| 15 |
-
<br>
|
| 16 |
-
<div style="display: flex; text-align: center; font-size: 14px; padding-right: 200px; padding-left: 200px;">
|
| 17 |
-
<strong>Disclaimer: </strong>The WeShopAI-Virtual-Try-On Demo on HuggingFace space is free for trials. Any solicitation for payment based on the free features we provide on HuggingFace Space is a fraudulent act. Beware of scams and do not fall victim to deceit.
|
| 18 |
-
</div>
|
| 19 |
-
</div>
|
| 20 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|