Spaces:
Sleeping
Sleeping
import streamlit as st | |
import qrcode | |
from io import BytesIO | |
from PIL import Image | |
def generate_qr_code(data): | |
qr = qrcode.QRCode( | |
version=1, | |
error_correction=qrcode.constants.ERROR_CORRECT_L, | |
box_size=10, | |
border=4, | |
) | |
qr.add_data(data) | |
qr.make(fit=True) | |
img = qr.make_image(fill="black", back_color="white") | |
return img | |
st.title("QR Code Generator") | |
# User input for QR code | |
user_input = st.text_input("Enter text or URL:") | |
if st.button("Generate QR Code"): | |
if user_input: | |
qr_img = generate_qr_code(user_input) | |
# Convert PIL Image to Bytes | |
buffer = BytesIO() | |
qr_img.save(buffer, format="PNG") | |
buffer.seek(0) | |
img_bytes = buffer.getvalue() # Convert to bytes | |
st.image(img_bytes, caption="Your QR Code", use_container_width=True) # Corrected input | |
st.download_button( | |
label="Download QR Code", | |
data=buffer, | |
file_name="qr_code.png", | |
mime="image/png" | |
) | |
else: | |
st.warning("Please enter text or a URL to generate a QR code.") | |