Alexvatti's picture
Update app.py
b75b0f8 verified
raw
history blame contribute delete
943 Bytes
import qrcode
import gradio as gr
from io import BytesIO
def generate_qr(url):
"""Generates a QR code from a given URL and returns the image and download link."""
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image(fill="black", back_color="white")
# Save to BytesIO for download
img_io = BytesIO()
img.save(img_io, format="PNG")
img_io.seek(0)
# Ensure file remains open when accessed
return img, ("qr_code.png", img_io.getvalue())
iface = gr.Interface(
fn=generate_qr,
inputs=gr.Textbox(label="Enter URL"),
outputs=[
gr.Image(label="Generated QR Code"),
gr.File(label="Download QR Code")
],
title="QR Code Generator",
description="Enter a URL to generate and download a QR Code."
)
iface.launch()