-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerator.py
More file actions
36 lines (28 loc) · 1.09 KB
/
generator.py
File metadata and controls
36 lines (28 loc) · 1.09 KB
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
from qrcode import QRCode
from qrcode.constants import ERROR_CORRECT_L
from qrcode.image.styledpil import StyledPilImage
from qrcode.image.styles.moduledrawers import RoundedModuleDrawer
from qrcode.image.styles.colormasks import SolidFillColorMask
from datetime import datetime
import cv2
def hex2rgb(code):
code = code.lstrip("#")
return tuple(int(code[i:i+2], 16) for i in (0, 2, 4))
dt = datetime.now().strftime("%Y%m%d %H-%M-%S")
qr = QRCode(
version=1,
error_correction=ERROR_CORRECT_L,
box_size=10,
border=4
)
input_data = input("Input the url...\n> ")
backgrd_code = hex2rgb(input("Input the backgrd RGB...\n> "))
code_code = hex2rgb(input("Input the code RGB...\n> "))
# print(f"backgrd_code:{backgrd_code}, code_code:{code_code}")
qr.add_data(input_data)
qr.make(fit=True)
img = qr.make_image(image_factory=StyledPilImage, color_mask = SolidFillColorMask(backgrd_code, code_code), module_drawer = RoundedModuleDrawer())
img.save(f"{dt}_output.png")
print("img saved.")
img = cv2.imread(f"{dt}_output.png")
cv2.imshow(f"{dt}_output", img)