parent
1ba0dc4566
commit
fcd96ba9fc
|
|
@ -34,11 +34,17 @@ def generate(selected_tab, keys, *values):
|
|||
|
||||
out = io.BytesIO()
|
||||
qrcode = segno.make(data, micro=False, error=args["setting_error_correction"], boost_error=False)
|
||||
qrcode.save(out, kind='png', scale=args["setting_scale"], border=args["setting_border"], dark=args["setting_dark"], light=args["setting_light"])
|
||||
scale = 1 if args["size_mode"] == "size" else args["setting_scale"]
|
||||
qrcode.save(out, kind='png', scale=scale, border=args["setting_border"], dark=args["setting_dark"], light=args["setting_light"])
|
||||
except Exception as e:
|
||||
return None, getattr(e, "message", str(e))
|
||||
|
||||
return Image.open(out), None
|
||||
img = Image.open(out)
|
||||
|
||||
if args["size_mode"] == "size":
|
||||
img = img.resize((args["setting_size"], args["setting_size"]))
|
||||
|
||||
return img, None
|
||||
|
||||
def on_ui_tabs():
|
||||
with gr.Blocks() as ui_component:
|
||||
|
|
@ -110,13 +116,19 @@ def on_ui_tabs():
|
|||
inputs["geo_latitude"] = gr.Number(0, label="Latitude", elem_id="qrcode_geo_latitude")
|
||||
inputs["geo_longitude"] = gr.Number(0, label="Longitude", elem_id="qrcode_geo_longitude")
|
||||
|
||||
with gr.Accordion("Settings", open=False):
|
||||
inputs["size_mode"] = gr.State("size")
|
||||
|
||||
with gr.Tab("Scale to") as tab_size:
|
||||
tab_size.select(lambda: "size", None, inputs["size_mode"])
|
||||
inputs["setting_size"] = gr.Slider(label="Size", minimum=64, maximum=2048, value=512, step=8)
|
||||
with gr.Tab("Scale by") as tab_scale:
|
||||
tab_scale.select(lambda: "scale", None, inputs["size_mode"])
|
||||
inputs["setting_scale"] = gr.Slider(label="Scale", minimum=1, maximum=50, value=10, step=1, elem_id="qrcode_scale")
|
||||
inputs["setting_border"] = gr.Slider(label="Border", minimum=0, maximum=10, value=4, step=1, elem_id="qrcode_border")
|
||||
with gr.Row():
|
||||
inputs["setting_dark"] = gr.ColorPicker("#000000", label="Module Color")
|
||||
inputs["setting_light"] = gr.ColorPicker("#ffffff", label="Background Color")
|
||||
inputs["setting_error_correction"] = gr.Radio(value="H", label="Error Correction Level", choices=["L", "M", "Q", "H"], elem_id="qrcode_error_correction")
|
||||
inputs["setting_border"] = gr.Slider(label="Border", minimum=0, maximum=10, value=4, step=1, elem_id="qrcode_border")
|
||||
with gr.Row():
|
||||
inputs["setting_dark"] = gr.ColorPicker("#000000", label="Module Color")
|
||||
inputs["setting_light"] = gr.ColorPicker("#ffffff", label="Background Color")
|
||||
inputs["setting_error_correction"] = gr.Radio(value="H", label="Error Correction Level", choices=["L", "M", "Q", "H"], elem_id="qrcode_error_correction")
|
||||
|
||||
button_generate = gr.Button("Generate", variant="primary")
|
||||
status = gr.HTML()
|
||||
|
|
|
|||
Loading…
Reference in New Issue