Python 特金特';s摄影图像类

Python 特金特';s摄影图像类,python,python-3.x,tkinter,graphics,photoimage,Python,Python 3.x,Tkinter,Graphics,Photoimage,此链接中的第一个答案是我在以下内容中所考虑的: 关于tkinter的Photoimage类,我应该如何清除并更新它,以便能够实时查看帧并制作动画 img.update()或image.clear()将是我正在寻找的东西,但它们不属于这个类。清除图像 方法blank将擦除图像中的所有数据。发件人: 空白图像;也就是说,将整个图像设置为没有数据,这样它将显示为透明,并且显示在其中的任何窗口的背景都将显示出来 更新图像 要更新它,您可以使用put方法在一个或多个像素中添加颜色,或者使用copy方法将一

此链接中的第一个答案是我在以下内容中所考虑的:

关于tkinter的Photoimage类,我应该如何清除并更新它,以便能够实时查看帧并制作动画

img.update()
image.clear()
将是我正在寻找的东西,但它们不属于这个类。

清除图像 方法
blank
将擦除图像中的所有数据。发件人:

空白图像;也就是说,将整个图像设置为没有数据,这样它将显示为透明,并且显示在其中的任何窗口的背景都将显示出来

更新图像 要更新它,您可以使用
put
方法在一个或多个像素中添加颜色,或者使用
copy
方法将一个图像的一部分复制到另一个图像上

例如,要将红色像素设置为100100,可以执行以下操作:

the_image.put("red", to=(100,100))
图像将立即更新。一次放置一个像素非常慢,部分原因是即时更新。通常最好是一次设置整行或整列。可以通过传入表示行和列的元组的元组来实现这一点

例如,以下内容将通过一次更新创建红色和白色的交替行,每行宽度为5像素:

    data = (
        ("red",   "red",   "red",   "red",   "red"),
        ("white", "white", "white", "white", "white"),
        ("red",   "red",   "red",   "red",   "red"),
        ("white", "white", "white", "white", "white"),
        ("red",   "red",   "red",   "red",   "red"),
        ("white", "white", "white", "white", "white"),
    )
    the_image.put(data, to=(0,0))

为什么不直接使用?@Nae:如果你想画单个像素,画布就糟透了。我有一个后续问题-img类更新不是实时的。我想做一个动画。是否有
img.update()
等效项?当我运行动画时,它是静态的,直到程序运行完毕并显示最后一帧。-------这个答案对于清算很有帮助,但我看不到实际的过程。但我可以说它起作用了,因为我过去常常看到移动像素的轨迹,现在看不到了。@MegaFirm:你需要用一个新的问题来创建一个新的问题。一般来说,当你更新一个图像时,它会立即在屏幕上更新。这个答案并不能回答整个问题。这就是我想说的。@MegaFirm:我道歉。我已经添加了关于如何更新图像的信息。没问题,我必须更加直截了当。而且,它就像一个符咒