fcernafukuzaki commited on
Commit
7098523
verified
1 Parent(s): cb7f9a7

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +62 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import uuid
3
+ from amzqr import amzqr
4
+ from PIL import Image
5
+ import streamlit as st
6
+
7
+ class GeneradorQR:
8
+
9
+ # Constructor
10
+ def __init__(self, fondo, hipervinculo, nombre_archivo):
11
+ self.__fondo = fondo
12
+ self.__hipervinculo = hipervinculo
13
+ self.__nombre_archivo = nombre_archivo
14
+
15
+ def generate_qrcode(self):
16
+ _, _, self.__qr_name = amzqr.run(
17
+ self.__hipervinculo, # Hiperv铆nculo
18
+ version=1,
19
+ level='H',
20
+ picture=self.__fondo, # Imagen de fondo
21
+ colorized=True,
22
+ contrast=1.0,
23
+ brightness=0.8,
24
+ save_name=self.__nombre_archivo, # Nombre del archivo con el c贸digo QR
25
+ save_dir=os.getcwd()
26
+ )
27
+
28
+ def get_qrcode(self):
29
+ return self.__qr_name
30
+
31
+ # Funci贸n para Streamlit
32
+ def generar_qr(hipervinculo, fondo):
33
+ print(type(fondo)) #
34
+ # Guarda la imagen de fondo en un archivo temporal
35
+ fondo_path = f"{uuid.uuid4()}_fondo.png"
36
+ fondo.save(fondo_path)
37
+ nombre_archivo = f"{uuid.uuid4()}.png" # Nombre aleatorio del archivo
38
+ # Instanciar la clase GeneradorQR
39
+ print(f'nombre_archivo:{nombre_archivo}')
40
+ print(f'hipervinculo:{hipervinculo}')
41
+ print(f'fondo:{fondo_path}')
42
+ generador_qr = GeneradorQR(nombre_archivo=nombre_archivo,
43
+ hipervinculo=hipervinculo,
44
+ fondo=fondo_path)
45
+ generador_qr.generate_qrcode() # Genera archivo imagen con el c贸digo QR
46
+ qr_path = generador_qr.get_qrcode() # Obtiene ruta del archivo imagen con el c贸digo QR
47
+ return qr_path
48
+
49
+ # Interfaz de Streamlit
50
+ st.title("Generador de c贸digo QR con fondo personalizado")
51
+
52
+ # Input
53
+ col1, col2 = st.columns(2)
54
+ with col1:
55
+ hipervinculo = st.text_input("Hiperv铆nculo")
56
+ fondo = st.file_uploader("Imagen de fondo", type=["png", "jpg", "jpeg"])
57
+ with col2:
58
+ if hipervinculo and fondo:
59
+ fondo_imagen = Image.open(fondo)
60
+ qr_path = generar_qr(hipervinculo, fondo_imagen)
61
+ st.image(qr_path, caption="C贸digo QR generado", use_column_width=True)
62
+ st.success(f"C贸digo QR generado")
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ ipython==8.29.0
2
+ amzqr==0.0.1