使用PIL在Tkinter中显示动画GIF

使用PIL在Tkinter中显示动画GIF,第1张

使用PIL在Tkinter中显示动画GIF

首先,您要为每个帧创建一个新的画布对象。最终,您将有成千上万的图像相互叠加。这是非常低效的;当您开始具有数千个对象时,canvas小部件会出现性能问题。

与其在画布上创建新的图像对象,不如使用画布的itemconfig方法重新配置现有对象。

其次,对于这样一个简单的任务,您不需要复杂的线程处理。在tkinter中有一个众所周知的用于制作动画的模式:绘制一帧,然后

after
在将来使用该函数进行调用。

像这样:

def animate(self):    if self._image_id is None:        self._image_id = self.display.create_image(...)    else:        self.itemconfig(self._image_id, image= the_new_image)    self.display.after(self.gif["delay"], self.animate)

最后,除非有严格的理由使用画布,否则可以通过使用Label小部件来进一步降低复杂性。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5431480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存