#python #python-3.x #user-interface #tkinter #tkinter-canvas
#python #python-3.x #пользовательский интерфейс #tkinter #tkinter-canvas
Вопрос:
У меня есть это изображение, и я хочу увеличить ширину этого изображения до конца окна tkinter с помощью анимации, но у меня нет правильного способа решения этой задачи. есть предложения?
Комментарии:
1. Использование анимации для расширения изображения? Что это значит?
2. ДА. Таким образом, это будет похоже на эффект опроса.
3. Есть
Progressbar
сtkinter
4. Да, но возможно ли анимировать ширину изображения? Потому что я хочу увеличить ширину с помощью анимации.
Ответ №1:
Решение с PIL
:
import tkinter as tk
from PIL import Image, ImageTk
def work(progress=1):
if progress > 300: # define the width by yourself
return
tmp_images = ImageTk.PhotoImage(progress_images.resize((progress, 10))) # the image size
lb.image = tmp_images # keep reference
lb["image"] = tmp_images # change the image
root.add = root.after(100, work, progress 10) # define the amplitude by yourself
root = tk.Tk()
progress_images = Image.open("path.png")
lb = tk.Label(root, bg="black")
lb.pack(side="left")
work()
root.mainloop()
Анимация:
Комментарии:
1. Спасибо за решение!!!! Можно ли удалить цвет фона и сделать его прозрачным с помощью canvas?
2. @sodmzs возможно «удалить цвет фона», но я не знаю, как сделать его прозрачным.