File size: 942 Bytes
a27b469 72bdd25 a27b469 72bdd25 a27b469 72bdd25 a27b469 72bdd25 a27b469 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import qrcode
import gradio as gr
from io import BytesIO
from PIL import Image
def generate_qr(url):
if not url:
return None
qr = qrcode.QRCode(
version=1,
box_size=10,
border=4
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# 讬爪讬专转 转诪讜谞转 RGB (讗讬谉 砖拽讬驻讜转)
img = img.convert("RGB")
# 砖诪讬专讛 诇-JPG 讘讝讬讻专讜谉
buf = BytesIO()
img.save(buf, format="JPEG", quality=95)
buf.seek(0)
return Image.open(buf)
with gr.Blocks() as demo:
gr.Markdown("# QR Code Generator (JPG Version)")
gr.Markdown("讛讻谞住 讻转讜讘转 讜拽讘诇 QR 拽讜讚 讻-JPG")
url_input = gr.Textbox(label="Enter URL")
output_img = gr.Image(label="QR Code (JPG)")
generate_btn = gr.Button("Generate QR")
generate_btn.click(generate_qr, inputs=url_input, outputs=output_img)
demo.launch()
|