Kvikontent commited on
Commit
ec9bdd0
·
1 Parent(s): cee8667

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -9
app.py CHANGED
@@ -2,7 +2,6 @@ import gradio as gr
2
  import qrcode
3
 
4
  def generate_qrcode(url, color, gradient, gradient_colors, border_radius, logo):
5
- # Create QR code instance
6
  qr = qrcode.QRCode(
7
  version=1,
8
  error_correction=qrcode.constants.ERROR_CORRECT_H,
@@ -10,14 +9,11 @@ def generate_qrcode(url, color, gradient, gradient_colors, border_radius, logo):
10
  border=4,
11
  )
12
 
13
- # Add data to QR code
14
  qr.add_data(url)
15
  qr.make(fit=True)
16
 
17
- # Create image from QR code
18
  qr_image = qr.make_image(fill_color=color, back_color="white")
19
 
20
- # Apply gradient to QR code if enabled
21
  if gradient:
22
  qr_image = qr_image.convert("RGB")
23
  width, height = qr_image.size
@@ -30,7 +26,6 @@ def generate_qrcode(url, color, gradient, gradient_colors, border_radius, logo):
30
  if pixel == (0, 0, 0):
31
  qr_image.putpixel((j, i), fill_color)
32
 
33
- # Apply border radius to QR code if specified
34
  if border_radius > 0:
35
  qr_image = qr_image.resize((qr_image.size[0] + border_radius*2, qr_image.size[1] + border_radius*2))
36
  qr_image = qr_image.convert("RGBA")
@@ -45,19 +40,22 @@ def generate_qrcode(url, color, gradient, gradient_colors, border_radius, logo):
45
  alpha = Image.new('L', (width, height), int(255 * 0.5))
46
  qr_image.paste(alpha, (0, 0), mask)
47
 
48
- # Add logo to center of QR code if specified
49
  if logo is not None:
50
  logo_image = Image.open(logo).convert("RGBA")
51
  qr_image.paste(logo_image, (int((qr_image.size[0] - logo_image.size[0]) / 2), int((qr_image.size[1] - logo_image.size[1]) / 2)), logo_image)
52
 
53
- # Save QR code as PNG
54
  qr_image.save("qr_code.png")
55
 
56
  return "qr_code.png"
57
 
58
  iface = gr.Interface(
59
  fn=generate_qrcode,
60
- inputs=["text", "text", "checkbox", "text[]", "number", gr.inputs.File()],
 
 
 
 
 
61
  outputs="image",
62
  title="QR Code Generator",
63
  description="Enter a URL and customize the QR code appearance",
@@ -66,4 +64,4 @@ iface = gr.Interface(
66
  ["huggingface.co", "#0000FF", True, ["#FF0000", "#00FF00"], 15, "logo.png"]]
67
  )
68
 
69
- iface.launch()
 
2
  import qrcode
3
 
4
  def generate_qrcode(url, color, gradient, gradient_colors, border_radius, logo):
 
5
  qr = qrcode.QRCode(
6
  version=1,
7
  error_correction=qrcode.constants.ERROR_CORRECT_H,
 
9
  border=4,
10
  )
11
 
 
12
  qr.add_data(url)
13
  qr.make(fit=True)
14
 
 
15
  qr_image = qr.make_image(fill_color=color, back_color="white")
16
 
 
17
  if gradient:
18
  qr_image = qr_image.convert("RGB")
19
  width, height = qr_image.size
 
26
  if pixel == (0, 0, 0):
27
  qr_image.putpixel((j, i), fill_color)
28
 
 
29
  if border_radius > 0:
30
  qr_image = qr_image.resize((qr_image.size[0] + border_radius*2, qr_image.size[1] + border_radius*2))
31
  qr_image = qr_image.convert("RGBA")
 
40
  alpha = Image.new('L', (width, height), int(255 * 0.5))
41
  qr_image.paste(alpha, (0, 0), mask)
42
 
 
43
  if logo is not None:
44
  logo_image = Image.open(logo).convert("RGBA")
45
  qr_image.paste(logo_image, (int((qr_image.size[0] - logo_image.size[0]) / 2), int((qr_image.size[1] - logo_image.size[1]) / 2)), logo_image)
46
 
 
47
  qr_image.save("qr_code.png")
48
 
49
  return "qr_code.png"
50
 
51
  iface = gr.Interface(
52
  fn=generate_qrcode,
53
+ inputs=[gr.inputs.Textbox(label="URL"),
54
+ gr.inputs.Textbox(label="Color"),
55
+ gr.inputs.Checkbox(label="Gradient"),
56
+ gr.inputs.MultiCheckbox(label="Gradient Colors"),
57
+ gr.inputs.Number(label="Border Radius"),
58
+ gr.inputs.File(label="Logo")],
59
  outputs="image",
60
  title="QR Code Generator",
61
  description="Enter a URL and customize the QR code appearance",
 
64
  ["huggingface.co", "#0000FF", True, ["#FF0000", "#00FF00"], 15, "logo.png"]]
65
  )
66
 
67
+ iface.launch()