|
import os |
|
import uuid |
|
from amzqr import amzqr |
|
from PIL import Image |
|
import gradio as gr |
|
|
|
|
|
class GeneradorQR(): |
|
|
|
|
|
def __init__(self, fondo, hipervinculo, nombre_archivo): |
|
self.__fondo = fondo |
|
self.__hipervinculo = hipervinculo |
|
self.__nombre_archivo = nombre_archivo |
|
|
|
def generate_qrcode(self): |
|
_, _, self.__qr_name = amzqr.run( |
|
self.__hipervinculo, |
|
version=1, |
|
level='H', |
|
picture=self.__fondo, |
|
colorized=True, |
|
contrast=1.0, |
|
brightness=0.8, |
|
save_name=self.__nombre_archivo, |
|
save_dir=os.getcwd() |
|
) |
|
|
|
def get_qrcode(self): |
|
return self.__qr_name |
|
|
|
|
|
|
|
def generar_qr(hipervinculo, fondo): |
|
nombre_archivo = f"{uuid.uuid4()}.png" |
|
|
|
print(f'nombre_archivo:{nombre_archivo}') |
|
print(f'hipervinculo:{hipervinculo}') |
|
print(f'fondo:{fondo}') |
|
generador_qr = GeneradorQR(nombre_archivo=nombre_archivo, |
|
hipervinculo=hipervinculo, |
|
fondo=fondo) |
|
generador_qr.generate_qrcode() |
|
qr_path = generador_qr.get_qrcode() |
|
return qr_path |
|
|
|
|
|
|
|
interface = gr.Interface( |
|
fn=generar_qr, |
|
inputs=[ |
|
gr.Textbox(label="Hiperv铆nculo"), |
|
gr.Image(type="filepath", label="Imagen de fondo") |
|
], |
|
outputs=gr.Image(label="C贸digo QR generado"), |
|
title="Generador de c贸digo QR con fondo personalizado" |
|
) |
|
|
|
interface.launch() |