Skip to content

Commit a28f3aa

Browse files
committedSep 10, 2022
refatoração do desenho da cartela
1 parent ee2e9fa commit a28f3aa

6 files changed

+217
-0
lines changed
 

‎01_geracao_dos_numeros.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import random
2+
3+
4+
def selecionar_numeros():
5+
return [
6+
random.sample(range(1, 16), 5),
7+
random.sample(range(16, 31), 5),
8+
random.sample(range(31, 46), 4),
9+
random.sample(range(46, 61), 5),
10+
random.sample(range(61, 76), 5),
11+
]
12+
13+
14+
print(selecionar_numeros())

‎02_escrever_texto_na_cartela.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import random
2+
from PIL import ImageFont, ImageDraw, Image
3+
4+
5+
fonte = ImageFont.truetype("assets/Dunkin.otf", 80)
6+
7+
8+
def selecionar_numeros():
9+
return [
10+
random.sample(range(1, 16), 5),
11+
random.sample(range(16, 31), 5),
12+
random.sample(range(31, 46), 4),
13+
random.sample(range(46, 61), 5),
14+
random.sample(range(61, 76), 5),
15+
]
16+
17+
18+
def desenhar_numeros(numeros_cartela):
19+
cartela = Image.open("assets/cartela.png")
20+
desenho = ImageDraw.Draw(cartela)
21+
22+
desenho.text((0, 0), "meu texto", font=fonte, fill=(0, 0, 0, 255))
23+
24+
cartela.save(f"assets/cartelas_geradas/cartela_resultante.png")
25+
26+
27+
numeros_cartela = selecionar_numeros()
28+
desenhar_numeros(numeros_cartela)

‎03_desenhar_numeros.py

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import random
2+
from PIL import ImageFont, ImageDraw, Image
3+
4+
5+
fonte = ImageFont.truetype("assets/Dunkin.otf", 80)
6+
7+
8+
def selecionar_numeros():
9+
return [
10+
random.sample(range(1, 16), 5),
11+
random.sample(range(16, 31), 5),
12+
random.sample(range(31, 46), 4),
13+
random.sample(range(46, 61), 5),
14+
random.sample(range(61, 76), 5),
15+
]
16+
17+
18+
def desenhar_numeros(numeros_cartela):
19+
cartela = Image.open("assets/cartela.png")
20+
desenho = ImageDraw.Draw(cartela)
21+
22+
# o resultado fica [[b], [i], [n], [g], [o]]
23+
# a 'linha' é relativa à letra, por isso é de cima para baixo
24+
delta = 160
25+
x = 10
26+
27+
for indice_c, coluna in enumerate(numeros_cartela):
28+
print(indice_c, coluna)
29+
x += delta
30+
y = 225
31+
for indice_l, linha in enumerate(coluna):
32+
print(indice_l, linha)
33+
desenho.text((x, y), str(linha), font=fonte, fill=(0, 0, 0, 255))
34+
y += delta
35+
36+
cartela.save(f"assets/cartelas_geradas/cartela_resultante.png")
37+
38+
39+
numeros_cartela = selecionar_numeros()
40+
desenhar_numeros(numeros_cartela)

‎04_espaco_da_logo.py

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import random
2+
from PIL import ImageFont, ImageDraw, Image
3+
4+
5+
fonte = ImageFont.truetype("assets/Dunkin.otf", 80)
6+
7+
8+
def selecionar_numeros():
9+
return [
10+
random.sample(range(1, 16), 5),
11+
random.sample(range(16, 31), 5),
12+
random.sample(range(31, 46), 4),
13+
random.sample(range(46, 61), 5),
14+
random.sample(range(61, 76), 5),
15+
]
16+
17+
18+
def desenhar_numeros(numeros_cartela):
19+
cartela = Image.open("assets/cartela.png")
20+
desenho = ImageDraw.Draw(cartela)
21+
22+
# o resultado fica [[b], [i], [n], [g], [o]]
23+
# a 'linha' é relativa à letra, por isso é de cima para baixo
24+
delta = 160
25+
x = 10
26+
27+
for indice_c, coluna in enumerate(numeros_cartela):
28+
x += delta
29+
y = 225
30+
for indice_l, linha in enumerate(coluna):
31+
print(indice_c, indice_l)
32+
if indice_c == indice_l == 2:
33+
# também soma aqui por causa do quadrado do meio
34+
y += delta
35+
desenho.text((x, y), str(linha), font=fonte, fill=(0, 0, 0, 255))
36+
y += delta
37+
38+
cartela.save(f"assets/cartelas_geradas/cartela_resultante.png")
39+
40+
41+
numeros_cartela = selecionar_numeros()
42+
desenhar_numeros(numeros_cartela)

‎05_cor_da_fonte.py

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import random
2+
from PIL import ImageFont, ImageDraw, Image
3+
4+
5+
fonte = ImageFont.truetype("assets/Dunkin.otf", 80)
6+
cor = (108, 49, 14, 255)
7+
8+
9+
def selecionar_numeros():
10+
return [
11+
random.sample(range(1, 16), 5),
12+
random.sample(range(16, 31), 5),
13+
random.sample(range(31, 46), 4),
14+
random.sample(range(46, 61), 5),
15+
random.sample(range(61, 76), 5),
16+
]
17+
18+
19+
def desenhar_numeros(numeros_cartela):
20+
cartela = Image.open("assets/cartela.png")
21+
desenho = ImageDraw.Draw(cartela)
22+
23+
# o resultado fica [[b], [i], [n], [g], [o]]
24+
# a 'linha' é relativa à letra, por isso é de cima para baixo
25+
delta = 160
26+
x = 10
27+
28+
for indice_c, coluna in enumerate(numeros_cartela):
29+
x += delta
30+
y = 225
31+
for indice_l, linha in enumerate(coluna):
32+
if indice_c == indice_l == 2:
33+
# também soma aqui por causa do quadrado do meio
34+
y += delta
35+
desenho.text((x, y), str(linha), font=fonte, fill=cor)
36+
y += delta
37+
38+
cartela.save(f"assets/cartelas_geradas/cartela_resultante.png")
39+
40+
41+
numeros_cartela = selecionar_numeros()
42+
desenhar_numeros(numeros_cartela)

‎06_rodape.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import random
2+
from PIL import ImageFont, ImageDraw, Image
3+
4+
5+
cor = (108, 49, 14, 255)
6+
cartela = Image.open("assets/cartela.png")
7+
desenho = ImageDraw.Draw(cartela)
8+
9+
10+
def selecionar_numeros():
11+
return [
12+
random.sample(range(1, 16), 5),
13+
random.sample(range(16, 31), 5),
14+
random.sample(range(31, 46), 4),
15+
random.sample(range(46, 61), 5),
16+
random.sample(range(61, 76), 5),
17+
]
18+
19+
20+
def desenhar_rodape():
21+
fonte = ImageFont.truetype("assets/Dunkin.otf", 40)
22+
xcor = 750
23+
ycor = 1015
24+
25+
desenho.text((xcor, ycor), str(0), font=fonte, fill=(108, 49, 14, 255))
26+
return desenho
27+
28+
29+
def desenhar_numeros(numeros_cartela):
30+
# o resultado fica [[b], [i], [n], [g], [o]]
31+
# a 'linha' é relativa à letra, por isso é de cima para baixo
32+
fonte = ImageFont.truetype("assets/Dunkin.otf", 80)
33+
delta = 160
34+
x = 10
35+
36+
for indice_c, coluna in enumerate(numeros_cartela):
37+
x += delta
38+
y = 225
39+
for indice_l, linha in enumerate(coluna):
40+
if indice_c == indice_l == 2:
41+
# também soma aqui por causa do quadrado do meio
42+
y += delta
43+
desenhar_rodape() # LINHA ADICIONADA
44+
desenho.text((x, y), str(linha), font=fonte, fill=cor)
45+
y += delta
46+
47+
cartela.save(f"assets/cartelas_geradas/cartela_resultante.png")
48+
49+
50+
numeros_cartela = selecionar_numeros()
51+
desenhar_numeros(numeros_cartela)

0 commit comments

Comments
 (0)
Please sign in to comment.