Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
@@ -784,8 +784,23 @@ input[type="text"]:focus, textarea:focus {
|
|
784 |
.fade-in {
|
785 |
animation: fadeIn 0.3s ease-out;
|
786 |
}
|
787 |
-
"""
|
788 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
789 |
|
790 |
def add_text_with_stroke(draw, text, x, y, font, text_color, stroke_width):
|
791 |
"""Helper function to draw text with stroke"""
|
@@ -949,12 +964,11 @@ def update_position_and_ui(pos):
|
|
949 |
return [pos] + [updates[btn] for btn in position_mapping.keys()]
|
950 |
|
951 |
def process_inpainting_with_feedback(image, mask, prompt):
|
952 |
-
"""์ธํ์ธํ
์ฒ๋ฆฌ ๋ฐ ํผ๋๋ฐฑ"""
|
953 |
try:
|
954 |
result = process_inpainting(image, mask, prompt)
|
955 |
-
return result,
|
956 |
except Exception as e:
|
957 |
-
return None,
|
958 |
|
959 |
def update_controls(bg_prompt):
|
960 |
"""๋ฐฐ๊ฒฝ ํ๋กฌํํธ ์
๋ ฅ ์ฌ๋ถ์ ๋ฐ๋ผ ์ปจํธ๋กค ํ์ ์
๋ฐ์ดํธ"""
|
@@ -1175,11 +1189,20 @@ with gr.Blocks(theme=gr.themes.Soft(), css=css) as demo:
|
|
1175 |
visible=True
|
1176 |
)
|
1177 |
|
1178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1179 |
for btn, pos in position_mapping.items():
|
1180 |
btn.click(
|
1181 |
fn=lambda p=pos: update_position_and_ui(p),
|
1182 |
-
outputs=[position] +
|
|
|
|
|
1183 |
)
|
1184 |
|
1185 |
# ์ธํ์ธํ
๋ฒํผ ์ด๋ฒคํธ
|
@@ -1189,7 +1212,6 @@ with gr.Blocks(theme=gr.themes.Soft(), css=css) as demo:
|
|
1189 |
outputs=[input_image, status_message]
|
1190 |
)
|
1191 |
|
1192 |
-
# ํ๋ก์ธ์ค ๋ฒํผ ์ด๋ฒคํธ
|
1193 |
process_btn.click(
|
1194 |
fn=process_prompt,
|
1195 |
inputs=[
|
@@ -1200,17 +1222,12 @@ with gr.Blocks(theme=gr.themes.Soft(), css=css) as demo:
|
|
1200 |
position,
|
1201 |
scale_slider
|
1202 |
],
|
1203 |
-
outputs=[combined_image, extracted_image]
|
|
|
|
|
1204 |
)
|
1205 |
|
1206 |
|
1207 |
-
|
1208 |
-
for btn, pos in position_mapping.items():
|
1209 |
-
btn.click(
|
1210 |
-
fn=lambda pos=pos: update_position(pos),
|
1211 |
-
outputs=position
|
1212 |
-
)
|
1213 |
-
|
1214 |
|
1215 |
bg_prompt.change(
|
1216 |
fn=update_controls,
|
|
|
784 |
.fade-in {
|
785 |
animation: fadeIn 0.3s ease-out;
|
786 |
}
|
|
|
787 |
|
788 |
+
/* ์ํ ๋ฉ์์ง ์ ๋๋ฉ์ด์
*/
|
789 |
+
.status-message {
|
790 |
+
animation: slideIn 0.3s ease-out;
|
791 |
+
}
|
792 |
+
|
793 |
+
@keyframes slideIn {
|
794 |
+
from {
|
795 |
+
transform: translateY(-10px);
|
796 |
+
opacity: 0;
|
797 |
+
}
|
798 |
+
to {
|
799 |
+
transform: translateY(0);
|
800 |
+
opacity: 1;
|
801 |
+
}
|
802 |
+
}
|
803 |
+
"""
|
804 |
|
805 |
def add_text_with_stroke(draw, text, x, y, font, text_color, stroke_width):
|
806 |
"""Helper function to draw text with stroke"""
|
|
|
964 |
return [pos] + [updates[btn] for btn in position_mapping.keys()]
|
965 |
|
966 |
def process_inpainting_with_feedback(image, mask, prompt):
|
|
|
967 |
try:
|
968 |
result = process_inpainting(image, mask, prompt)
|
969 |
+
return result, update_status_message("Inpainting completed successfully!")
|
970 |
except Exception as e:
|
971 |
+
return None, update_status_message(f"Error: {str(e)}", is_error=True)
|
972 |
|
973 |
def update_controls(bg_prompt):
|
974 |
"""๋ฐฐ๊ฒฝ ํ๋กฌํํธ ์
๋ ฅ ์ฌ๋ถ์ ๋ฐ๋ผ ์ปจํธ๋กค ํ์ ์
๋ฐ์ดํธ"""
|
|
|
1189 |
visible=True
|
1190 |
)
|
1191 |
|
1192 |
+
def update_status_message(message: str, is_error: bool = False) -> dict:
|
1193 |
+
"""์ํ ๋ฉ์์ง ์
๋ฐ์ดํธ ํจ์"""
|
1194 |
+
return {
|
1195 |
+
"visible": True,
|
1196 |
+
"value": f'<div class="status-message {"status-error" if is_error else "status-success"}">{message}</div>'
|
1197 |
+
}
|
1198 |
+
|
1199 |
+
# ์์ ๋ ๋ฒ์
|
1200 |
for btn, pos in position_mapping.items():
|
1201 |
btn.click(
|
1202 |
fn=lambda p=pos: update_position_and_ui(p),
|
1203 |
+
outputs=[position] + [btn for btn in position_mapping.keys()]
|
1204 |
+
).then(
|
1205 |
+
fn=lambda: update_ui_state("position", "Position updated successfully!")
|
1206 |
)
|
1207 |
|
1208 |
# ์ธํ์ธํ
๋ฒํผ ์ด๋ฒคํธ
|
|
|
1212 |
outputs=[input_image, status_message]
|
1213 |
)
|
1214 |
|
|
|
1215 |
process_btn.click(
|
1216 |
fn=process_prompt,
|
1217 |
inputs=[
|
|
|
1222 |
position,
|
1223 |
scale_slider
|
1224 |
],
|
1225 |
+
outputs=[combined_image, extracted_image, status_message]
|
1226 |
+
).then(
|
1227 |
+
fn=lambda: update_status_message("Processing completed!")
|
1228 |
)
|
1229 |
|
1230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1231 |
|
1232 |
bg_prompt.change(
|
1233 |
fn=update_controls,
|