В последнее время я пытаюсь изучить Python с помощью подхода handson (я нахожу его намного веселее, хотя и не столь продуктивным).Исправляемая картинка в Python
В этом конкретном коде я пытался создать программу для массового создания сертификатов. Пробив себе голову, пытаясь решить эту проблему, код продолжает перезаписывать старые фотографии и сохранять их снова вместо того, чтобы получать чистую от базовой переменной.
Я попытался переместить base = Image.open("generico/Certificado.png")
в функцию criacao(nome)
, но потом мне сказали, что «база» не определена.
draw = ImageDraw.Draw(base)
NameError: name 'base' is not defined
Помощь была бы очень признательна!
import zlib, datetime
from PIL import Image, ImageFont, ImageDraw
curso = input("Course: ")
inicio = input("Date of start (DD/MM): ")
fim = input("Date ended (formato DD/MM/AAAA): ")
horas = input ("Total hours spent: ")
professor = input("Professor: ")
quantos = int(input("Number of students: "))
contador = int(0)
base = Image.open("generico/Certificado.png")
font = ImageFont.truetype("arial.ttf", 50)
draw = ImageDraw.Draw(base)
def criacao(nome):
nome_arquivo = str(datetime.date.today()) + " " + nome[0].upper() + nome[1:len(nome)].lower() + " " + curso
draw.text((750,1065), nome.upper(), font=font, fill=(0,0,0,0))
draw.text((750,1414), curso.upper(), font=font, fill=(0,0,0,0))
draw.text((1220,1625), inicio, font=font, fill=(0,0,0,0))
draw.text((1500,1625), fim, font=font, fill=(0,0,0,0))
draw.text((1540,1750), horas + ".", font=font, fill=(0,0,0,0))
draw.text((1740,2130), str(datetime.date.today()), font=font, fill=(0,0,0,0))
draw.text((1550,2680), professor, font=font, fill=(0,0,0,0))
base.save("Criado/" + nome_arquivo + ".png")
while contador < quantos:
criacao(input("Student's name: "))
contador += 1
Спасибо много! –