【问题标题】:Displaying a sequence of PIL images with Tkinter使用 Tkinter 显示一系列 PIL 图像
【发布时间】:2012-06-29 16:15:46
【问题描述】:

我正在循环生成 PIL Image 对象。我想显示这些是用 Tkinter 生成的。

我该怎么做呢?

【问题讨论】:

  • 您想在新窗口中显示每个图像,还是用新图像替换旧图像?还是要并排展示它们?
  • 糟糕,应该更清楚一点。用新图像替换旧图像,是的。有点像动画。

标签: python tkinter python-imaging-library


【解决方案1】:

您可以创建一个包含LabelTkInter 窗口,并且每次要更改图像时,从旧图像中创建一个新的ImageTk.PhotoImage 并将标签的image 属性设置为新创建的@ 987654326@。示例:

import Tkinter
import Image, ImageTk
root = Tkinter.Tk()
label = Tkinter.Label(root)
label.pack()
def change_image(image):
    photoimage = ImageTk.PhotoImage(image)
    label.config(image=photoimage)
root.mainloop()

当您需要更改图像时,请致电change_image()

【讨论】:

  • 所以我尝试了这个,但我的图像根本不会显示。我还有其他事情要做吗?我已经在您的代码中完成了所有操作,并且正在使用 root.after 来调用我的 main 函数,在其中它使用 change_image 来设置标签图像。
  • 这是一个完整的食谱:PIL and TkInter to display image
最近更新 更多