#python #tkinter #python-imaging-library
Вопрос:
В настоящее время я работаю над проектом из книги Анджелы Ю «100 дней Python» (на udemy). Один из этих проектов запрашивает приложение с графическим интерфейсом для добавления водяных знаков к изображению:
мой код до сих пор таков:
# Imports for tkinter
import tkinter as tk
from tkinter import filedialog, Entry, StringVar
# pillow imports
from PIL import Image, ImageFont, ImageDraw
def open_file ():
file = filedialog.askopenfilename()
if file == "":
pass
else:
watermark_image(file, text=get_u_input())
def watermark_image (file, text):
image = Image.open(file, mode="r")
watermark_image = image.copy()
font = ImageFont.truetype("arial.ttf", 100)
draw = ImageDraw.Draw(watermark_image)
draw.text((0, 0), text, (25, 75, 80), font=font) # this line
watermark_image.save(f"{file}_watermarked.jpg")
def get_u_input ():
user_input = text.get()
return user_input
window = tk.Tk()
window.title("Watermark your image")
window.minsize(width=500, height=300)
my_label = tk.Label(text="Miles")
my_label.grid(column=1, row=0)
str = StringVar()
text = Entry(window, textvariable=str)
text.grid(column=2, row=2)
# btn_get_text = tk.Button(text="set text to input", command=get_u_input())
# btn_get_text.grid(column=3, row=2)
btn = tk.Button(text="Search an Image", command=open_file)
btn.grid(column=3, row=3)
window.mainloop()
Сейчас это не очень красиво, и это не ООП, но я думаю, что это уже должно быть помечено галочкой, чтобы я «сделал это», но я хотел пойти дальше и внести некоторые изменения:
- Я хотел, чтобы пользователь мог указать координаты (отметил строку в коде комментарием) и
- Я хотел, чтобы пользователь мог настроить цвет (так что довольно простые дополнения 😀 )
Я попытался найти координаты sth. подобный этому:
tuple(input("Specify the coordinates: "))
Когда я работал над логикой командной строки (что, естественно, я сделал первым), но это не сработало, поэтому я начал с остального (делая основы).
Кто-нибудь может мне помочь с этим?
Я, вероятно, использую это для создания приложения django позже, в котором пользователи смогут добавлять водяные знаки текста и изображений к своим изображениям, мне просто нужно больше практиковаться с Python 😀
Всего наилучшего и спасибо 🙂
Комментарии:
1. Вы будете делать все, что захотите, точно так же, как вы делали до сих пор, вы можете либо проанализировать информацию. Или вы можете создать две записи и собрать из них данные. Тогда вы бы использовали эти переменные вместо того, чтобы подключать информацию к аппаратному обеспечению.