Update app.py
Browse files
app.py
CHANGED
@@ -25,7 +25,7 @@ def create_gif(
|
|
25 |
try:
|
26 |
# 验证输入
|
27 |
if not image_files:
|
28 |
-
return None, "错误:
|
29 |
|
30 |
images = []
|
31 |
for file_info in image_files:
|
@@ -57,28 +57,28 @@ def create_gif(
|
|
57 |
optimize=True
|
58 |
)
|
59 |
|
60 |
-
return output_path, "GIF创建成功!"
|
61 |
|
62 |
except Exception as e:
|
63 |
return None, f"错误: {str(e)}"
|
64 |
|
65 |
# Gradio界面
|
66 |
-
with gr.Blocks(title="多图转GIF转换器") as demo:
|
67 |
-
gr.Markdown("## 🎞️ 多图转GIF转换器")
|
68 |
-
gr.Markdown("上传多张图片,设置参数后生成GIF
|
69 |
|
70 |
with gr.Row():
|
71 |
with gr.Column():
|
72 |
file_input = gr.Files(
|
73 |
-
label="选择多张图片",
|
74 |
file_types=["image"],
|
75 |
file_count="multiple"
|
76 |
)
|
77 |
-
with gr.Accordion("高级选项", open=False):
|
78 |
-
scale_slider = gr.Slider(0.1, 2.0, value=1.0, step=0.1, label="缩放比例")
|
79 |
-
duration_slider = gr.Slider(50, 2000, value=200, step=50, label="每帧时长(毫秒)")
|
80 |
-
loop_checkbox = gr.Checkbox(value=True, label="循环播放")
|
81 |
-
convert_btn = gr.Button("生成GIF", variant="primary")
|
82 |
|
83 |
with gr.Column():
|
84 |
output_gif = gr.Image(label="生成的GIF", interactive=False)
|
@@ -93,7 +93,7 @@ with gr.Blocks(title="多图转GIF转换器") as demo:
|
|
93 |
loop: bool
|
94 |
) -> tuple:
|
95 |
if not files:
|
96 |
-
return None, None, "
|
97 |
|
98 |
output_path, msg = create_gif(files, scale=scale, frame_duration=duration, loop=loop)
|
99 |
|
|
|
25 |
try:
|
26 |
# 验证输入
|
27 |
if not image_files:
|
28 |
+
return None, "错误: 请至少选择一张图片*(Wrong, At least choose one image)"
|
29 |
|
30 |
images = []
|
31 |
for file_info in image_files:
|
|
|
57 |
optimize=True
|
58 |
)
|
59 |
|
60 |
+
return output_path, "GIF创建成功!(GIF already here)"
|
61 |
|
62 |
except Exception as e:
|
63 |
return None, f"错误: {str(e)}"
|
64 |
|
65 |
# Gradio界面
|
66 |
+
with gr.Blocks(title="多图转GIF转换器(image2Gif)") as demo:
|
67 |
+
gr.Markdown("## 🎞️ 多图转GIF转换器I2GIF")
|
68 |
+
gr.Markdown("上传多张图片,设置参数后生成GIF动画格式图片,需要统一大小(upload your images to make GIF)")
|
69 |
|
70 |
with gr.Row():
|
71 |
with gr.Column():
|
72 |
file_input = gr.Files(
|
73 |
+
label="选择多张图片(choose images in same size)",
|
74 |
file_types=["image"],
|
75 |
file_count="multiple"
|
76 |
)
|
77 |
+
with gr.Accordion("高级选项(Advanced)", open=False):
|
78 |
+
scale_slider = gr.Slider(0.1, 2.0, value=1.0, step=0.1, label="缩放比例(scale)")
|
79 |
+
duration_slider = gr.Slider(50, 2000, value=200, step=50, label="每帧时长(毫秒)(ms per frame)")
|
80 |
+
loop_checkbox = gr.Checkbox(value=True, label="循环播放(loop)")
|
81 |
+
convert_btn = gr.Button("生成GIF(Merge GIF)", variant="primary")
|
82 |
|
83 |
with gr.Column():
|
84 |
output_gif = gr.Image(label="生成的GIF", interactive=False)
|
|
|
93 |
loop: bool
|
94 |
) -> tuple:
|
95 |
if not files:
|
96 |
+
return None, None, "请先上传图片*(Please upload your images first)"
|
97 |
|
98 |
output_path, msg = create_gif(files, scale=scale, frame_duration=duration, loop=loop)
|
99 |
|