Я очень плохо знаком с Pyton и программированием в целом, и для своего первого проекта я пытаюсь создать сценарий с интерфейсом Tkinter, который должен делать следующее:
- Разрешить пользователю писать текств запись,
- при нажатии кнопки поместите этот текст на изображение с определенным именем,
- сохраните это изображение под именем, которое является текущей датой и временем,
- , повторитевсе вышеперечисленное при нажатии кнопки.
Сценарий работает правильно только один раз (после первого нажатия кнопки), после чего вводит введенный текст в ранее введенный текст.
Я понимаю, что это потому, что он открывает исходное изображение только один раз и выполняет другие шаги при каждом нажатии кнопки, но я не могу написать код, который определяет исходное изображение, в command = lambda (это вызываетразличные ошибки).Вот мой код:
import tkinter as tk
from PIL import Image, ImageDraw, ImageFont
from datetime import datetime
def adresat1_function(self): draw.text(xy=(273, 215), text=(entry_1.get()),
fill=(0, 0, 0), font=font_type)
root = tk.Tk()
root.title("Postal")
root.maxsize(height=530, width=590,)
canvas = tk.Canvas(root, height=530, width=590, highlightthickness=0)
canvas.pack()
frame_1 = tk.Frame(canvas, bg='#75a3a3', bd=2)
frame_1.place(x=5, y=10, height=200, width=580, anchor='nw')
entry_1 = tk.Entry(frame_1, font=18,)
entry_1.place(x=202, y=0, width=374, height=22,)
#Image
image = Image.open('Blank.jpg')
font_type = ImageFont.truetype('arial.ttf',14,)
draw = ImageDraw.Draw(image)
#Button
button = tk.Button(frame_1, text = 'Fill', width=8,
command=lambda:
#Fill
(adresat1_function(entry_1.get()),
image.save(datetime.now().strftime("%Y-%m-%d %H-%M-%S") + '.jpg'),))
button.place(x=202, y=160, width=374, height=22,)
root.mainloop()
Что нужно сделать, чтобы эта программа сохранила введенный текст на новом изображении, не перезаписывая его поверх ранее введенного текста?Я, возможно, даже не знаю некоторые основные понятия Python, в таком случае извините за тупой вопрос.Заранее спасибо.