Skip to content

Commit f8a05ca

Browse files
authored
Merge pull request #18 from LleidaHack/new-year-config-and-improvements
new config and improvements
2 parents 3596c39 + e04de40 commit f8a05ca

File tree

7 files changed

+38
-22
lines changed

7 files changed

+38
-22
lines changed

Config.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,15 @@
2626
BAK_PATH = path.join(RES_PATH, EDITIONS_FOLDER, EDITION, BAK_FILE)
2727

2828
# FONT_FILE = 'Montserrat-Regular.ttf'
29-
FONT_FILE = 'SpaceMono-Regular.ttf'
29+
FONT_FILE = 'SpaceMono-Bold.ttf'
3030
FONT_PATH = path.join(RES_PATH, FONT_FILE)
31-
FONT_SIZE = 80
31+
TYPE_FONT_SIZE = 18
32+
NAME_FONT_SIZE = 12
3233
FONT_COLOR = (0,0,0)
33-
FONT = ImageFont.truetype(FONT_PATH, FONT_SIZE)
34+
WHITE_FONT_COLOR = (255,255,255)
35+
TYPE_FONT = ImageFont.truetype(FONT_PATH, TYPE_FONT_SIZE)
36+
NAME_FONT = ImageFont.truetype(FONT_PATH, NAME_FONT_SIZE)
3437
# FONT = ImageFont.truetype("Symbola.ttf", 60, encoding='unic')
38+
39+
MAIN_COLOR = (31, 33, 36)
40+
BAK_COLOR = (247, 247, 242)

Model.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ class Card:
1313
QR_POS = (1301, 172)
1414
QR_SIZE = (723, 723)
1515
QR_BORDER_SIZE = 0
16-
TYPE_POS = (850, 1450)
17-
NAME_POS = (500, 1250)
16+
TYPE_POS = (0, 155)
17+
# NAME_POS = (500, 1250)
18+
NAME_POS = (140, 120)
1819
NICK_POS = (1198, 870)
1920
# LOGO_POS = (920, 250)
2021
# LOGO_SIZE = (550, 350)
@@ -46,7 +47,7 @@ def generate_qr(self, crypt_id=False):
4647

4748
def generate_card(self, rgb_back=(255, 255, 255)):
4849
self.card = Image.open(Config.BAK_PATH)
49-
Tools.draw_text(self.card, self.type, Card.TYPE_POS, Config.FONT, Config.FONT_COLOR)
50+
Tools.draw_text(self.card, self.type, Card.TYPE_POS, Config.TYPE_FONT, Config.WHITE_FONT_COLOR)
5051

5152
@staticmethod
5253
def get_data():
@@ -77,7 +78,7 @@ def generate_card(self, rgb_back=(255, 255, 255)):
7778
super().generate_card(rgb_back)
7879
if self.has_qr:
7980
self.card.paste(self.qr, Card.QR_POS)
80-
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.FONT, Config.FONT_COLOR)
81+
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.NAME_FONT, Config.WHITE_FONT_COLOR)
8182

8283
@staticmethod
8384
def get_data(name=None):
@@ -103,7 +104,7 @@ def __init__(self, name, image):
103104

104105
def generate_card(self, rgb_back=(255, 255, 255)):
105106
super().generate_card(rgb_back)
106-
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.FONT, Config.FONT_COLOR)
107+
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.NAME_FONT, Config.WHITE_FONT_COLOR)
107108
image = Image.open(self.logopath).convert("RGBA") # .resize((550,350), Image.ANTIALIAS)
108109
image = Tools.scale(image, Card.QR_SIZE)
109110
self.card.paste(image, Card.QR_POS)
@@ -138,7 +139,7 @@ def generate_card(self, rgb_back=(255, 255, 255)):
138139
image = Image.open(Volunteer.__LOGO_PATH).convert("RGBA")
139140
image = Tools.scale(image, Card.QR_SIZE)
140141
self.card.paste(image, Card.QR_POS)
141-
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.FONT, Config.FONT_COLOR)
142+
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.NAME_FONT, Config.WHITE_FONT_COLOR)
142143

143144
@staticmethod
144145
def get_data(name=None):
@@ -167,7 +168,7 @@ def generate_card(self, rgb_back=(255, 255, 255)):
167168
image = Image.open(Organizer.__LOGO_PATH).convert("RGBA")
168169
image = Tools.scale(image, Card.QR_SIZE)
169170
self.card.paste(image, Card.QR_POS)
170-
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.FONT, Config.FONT_COLOR)
171+
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.NAME_FONT, Config.WHITE_FONT_COLOR, False)
171172

172173
@staticmethod
173174
def get_data(name=None):
@@ -199,7 +200,7 @@ def __init__(self, id, data):
199200
def generate_card(self, rgb_back=(255, 255, 255)):
200201
super().generate_card(rgb_back)
201202
self.card.paste(self.qr, Card.QR_POS)
202-
Tools.draw_text(self.card, self.name+' '+self.nick, Card.NAME_POS, Config.FONT, Config.FONT_COLOR)
203+
Tools.draw_text(self.card, self.name, Card.NAME_POS, Config.NAME_FONT, Config.WHITE_FONT_COLOR, False)
203204
# Tools.draw_text(self.card, self.nick, Card.NICK_POS, Config.FONT)
204205

205206
@staticmethod

Tools.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import qrcode
66
from PIL import ImageDraw, Image
7+
import Config
78

89

910
def create_dir(path):
@@ -27,10 +28,15 @@ def empty_dir(path, delete_files=True, delete_dirs=True):
2728
os.remove(os.path.join(root, dir))
2829

2930

30-
def draw_text(image, text, pos, font, fill):
31+
def draw_text(image, text, pos, font, fill, centrate=True, mayus=True):
32+
if mayus:
33+
text = text.upper()
3134
draw = ImageDraw.Draw(image)
3235
w, h = draw.textsize(text, font=font)
33-
ImageDraw.Draw(image).text(((image.width-w)/2, pos[1]), text, font=font,fill=fill)
36+
if centrate:
37+
ImageDraw.Draw(image).text(((image.width-w)/2, pos[1]), text, font=font,fill=fill)
38+
else:
39+
ImageDraw.Draw(image).text(pos, text, font=font,fill=fill)
3440

3541

3642
def scale(image, max_size, add_mask=True, method=Image.ANTIALIAS):
@@ -46,7 +52,7 @@ def scale(image, max_size, add_mask=True, method=Image.ANTIALIAS):
4652
scaled = image.resize((int((float(max_size[1]) * im_aspect) + 0.5), max_size[1]), method)
4753

4854
offset = (((max_size[0] - scaled.size[0]) / 2), ((max_size[1] - scaled.size[1]) / 2))
49-
back = Image.new("RGB", max_size, "white")
55+
back = Image.new("RGBA", max_size, Config.BAK_COLOR)
5056
if add_mask:
5157
back.paste(scaled, (int(offset[0]), int(offset[1])), scaled)
5258
else:
@@ -63,7 +69,9 @@ def generate_qr(input, size, border_size):
6369
border=border_size)
6470
qr.add_data(input)
6571
qr.make(fit=True)
72+
# qr = qr.make_image(fill_color=5, back_color=Config.BAK_COLOR)
6673
qr = qr.make_image()
74+
# qr.show()
6775
return qr
6876

6977

main.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import os
66

77
users = []
8-
users += Model.Contestant.get_data()
9-
# users += Model.Organizer.get_data()
8+
# users += Model.Contestant.get_data()
9+
users += Model.Organizer.get_data()
1010
# users += Model.Volunteer.get_data()
1111
# users += Model.Company.get_data()
1212
# users += Model.Guest.get_data()
@@ -17,4 +17,5 @@
1717

1818
for u in users:
1919
u.generate_card()
20-
u.save()
20+
u.save()
21+
break

requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ grpcio==1.25.0
1616
httplib2==0.19.0
1717
idna==2.8
1818
msgpack==0.6.2
19-
Pillow==9.0.1
20-
pkg-resources==0.0.0
19+
Pillow==8.4
20+
# pkg-resources==0.0.0
2121
protobuf==3.15.0
2222
pyasn1==0.4.7
2323
pyasn1-modules==0.2.7
2424
pytz==2019.3
25-
qrcode==6.1
25+
qrcode==7.0
2626
requests==2.22.0
27-
rsa==4.7
27+
rsa==4.0
2828
six==1.13.0
2929
uritemplate==3.0.0
30-
urllib3==1.26.5
30+
urllib3==1.22.0

resources/SpaceMono-Bold.ttf

86.9 KB
Binary file not shown.

resources/editions/2022/plantilla.png

-107 KB
Loading

0 commit comments

Comments
 (0)