在Python中绘制并移动图像上的点

0 投票
1 回答
740 浏览
提问于 2025-04-15 23:14

大家好,我需要写一个小脚本,用Python来做。

在这个脚本里,我有一个变量(它代表一个坐标),这个变量的值会不断更新。

所以我需要在一张图片上画一个红点,并且每次这个坐标的变量更新时,都要更新红点的位置。

我试着解释我需要做的事情,像这样,但显然这样是不行的:

import Tkinter, Image, ImageDraw, ImageTk

i=0
root = Tkinter.Tk()
im = Image.open("img.jpg")
root.geometry("%dx%d" % (im.size[0], im.size[1]))

while True:
    draw = ImageDraw.Draw(im)
    draw.ellipse((i, 0, 10, 10), fill=(255, 0, 0))
    pi = ImageTk.PhotoImage(im)
    label = Tkinter.Label(root, image=pi)
    label.place(x=0, y=0, width=im.size[0], height=im.size[1])
    i+=1

del draw

有人能帮我吗?非常感谢!

1 个回答

1

你用PhotoImage在Label里是对的,但不是每次循环都新建一个Label,而是只创建一次,然后在循环中更新它的位置就可以了。

撰写回答