File size: 1,098 Bytes
7324c34
cee8667
1d0a868
 
 
fb19d78
a5d6258
e992434
7324c34
 
e992434
7324c34
cee8667
7324c34
1d0a868
e992434
7324c34
 
 
e992434
 
1d0a868
e992434
1be3839
 
e992434
cee8667
a5d6258
cee8667
1d0a868
e992434
3fc1e0f
e992434
0971060
e992434
cee8667
eac1982
cee8667
e992434
 
 
 
cee8667
e992434
 
1be3839
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
42
43
44
45
46
import gradio as gr
import qrcode
from PIL import Image, ImageDraw
import io


def generate_qr_code(url, logo, qr_color):
    # Create QR code instance
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )

    # Add URL to the QR code
    qr.add_data(url)
    qr.make(fit=True)

    # Create the QR code image
    qr_image = qr.make_image(fill_color=qr_color, back_color="#ffffff")  # Set QR code color here

    # Add logo if provided
    if logo and len(logo) > 0:
        logo_image = Image.open(logo[0]).convert("RGBA")
        qr_image.paste(logo_image, (125, 125), logo_image)

    return qr_image


inputs = [
    gr.Textbox(label="URL to Site"),
    gr.inputs.Image(label="Logo (Optional)"),
    gr.ColorPicker(label="QR Code Color"),
]

outputs = gr.outputs.Image(type="pil")

gr.Interface(
    fn=generate_qr_code,
    inputs=inputs,
    outputs=outputs,
    title="QR Code Generator",
    description="Generate QR codes with customizable options",
    theme="huggingface",
).launch(share=True)