我try 了下面的脚本,在充满窗口的canvas
中:
import tkinter as tk
from PIL import Image, ImageTk
from time import *
root = tk.Tk()
root.geometry("500x500")
canvas = tk.Canvas(root)
canvas.pack()
def fill(event):
canvas.config(width = root.winfo_width(), height = root.winfo_height())
root.bind("<Configure>", fill)
img = Image.open("CO2.png")
imgtk = ImageTk.PhotoImage(img)
item = canvas.create_image(15, 15, image = imgtk)
while True:
canvas.moveto(item, canvas.coords(item)[0], canvas.coords(item)[1])
root.update()
sleep(0.5)
这应该没有什么作用,因为它只是将一件物品移动到它已经在的地方.但在实践中,这会将图像移向正x和y方向,这意味着从canvas.coords()
开始的坐标略有偏离,与canvas.moveto()
不符.
以下是使用过的图片:
这是怎么回事?