| 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() | |