как увеличить ширину изображения с помощью анимации в графическом интерфейсе tkinter?

#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 возможно «удалить цвет фона», но я не знаю, как сделать его прозрачным.