使用 tkinter 和 ImageTk 的图像幻灯片放映
image slide show using tkinter and ImageTk
我正在尝试制作图片幻灯片,但我无法让 ImageTk 模块工作
import tkinter as tk
from itertools import cycle
from ImageTk import PhotoImage
images = ["ffa1c83.jpg", "ffa4600.jpg", "faa4149.jpg", "f099e64.png"]
photos = cycle(PhotoImage(file=image) for image in images)
def slideShow():
img = next(photos)
displayCanvas.config(image=img)
root.after(50, slideShow) # 0.05 seconds
root = tk.Tk()
root.overrideredirect(True)
width = root.winfo_screenwidth()
height = root.winfo_screenwidth()
root.geometry('%dx%d' % (640, 480))
displayCanvas = tk.Label(root)
displayCanvas.pack()
root.after(10, lambda: slideShow())
root.mainloop()
我正在使用 python 3.7
我收到这个错误:
Traceback (most recent call last):
File "C:\Users\cj\Desktop\code_stuff\slideshow\slide show V2\SlideShowV2.py",
line 3, in <module>
from ImageTk import PhotoImage
ModuleNotFoundError: No module named 'ImageTk'
ImageTk
是模块 PIL
/pillow
的一部分
import tkinter as tk
from itertools import cycle
from PIL import ImageTk, Image
images = ["ffa1c83.jpg", "ffa4600.jpg", "faa4149.jpg", "f099e64.png"]
photos = cycle(ImageTk.PhotoImage(Image.open(image)) for image in images)
它用于代替无法读取 .png
的标准 tkinter.PhotoImage
并且在旧版本中它甚至无法读取 .jpg
并且它仅适用于 [=17] =]
顺便说一句: 了解 PhotoImage
中的错误,该错误在将图像分配给函数中的局部变量时从内存中删除图像 - 请参阅文档中的 Note
PhotoImage
我正在尝试制作图片幻灯片,但我无法让 ImageTk 模块工作
import tkinter as tk
from itertools import cycle
from ImageTk import PhotoImage
images = ["ffa1c83.jpg", "ffa4600.jpg", "faa4149.jpg", "f099e64.png"]
photos = cycle(PhotoImage(file=image) for image in images)
def slideShow():
img = next(photos)
displayCanvas.config(image=img)
root.after(50, slideShow) # 0.05 seconds
root = tk.Tk()
root.overrideredirect(True)
width = root.winfo_screenwidth()
height = root.winfo_screenwidth()
root.geometry('%dx%d' % (640, 480))
displayCanvas = tk.Label(root)
displayCanvas.pack()
root.after(10, lambda: slideShow())
root.mainloop()
我正在使用 python 3.7
我收到这个错误:
Traceback (most recent call last):
File "C:\Users\cj\Desktop\code_stuff\slideshow\slide show V2\SlideShowV2.py",
line 3, in <module>
from ImageTk import PhotoImage
ModuleNotFoundError: No module named 'ImageTk'
ImageTk
是模块 PIL
/pillow
import tkinter as tk
from itertools import cycle
from PIL import ImageTk, Image
images = ["ffa1c83.jpg", "ffa4600.jpg", "faa4149.jpg", "f099e64.png"]
photos = cycle(ImageTk.PhotoImage(Image.open(image)) for image in images)
它用于代替无法读取 .png
的标准 tkinter.PhotoImage
并且在旧版本中它甚至无法读取 .jpg
并且它仅适用于 [=17] =]
顺便说一句: 了解 PhotoImage
中的错误,该错误在将图像分配给函数中的局部变量时从内存中删除图像 - 请参阅文档中的 Note
PhotoImage