在 tkinter canvas window 中动态注释图像

Annotate an image in tkinter canvas window dynamically

所以我在我的 Tkinter window 中使用 canvas 显示图像。现在我有一个计算某些参数的按钮,我希望它在图像上动态显示。所以基本上每次计算完后,注解都应该换成新的参数。

例如考虑到我正在计算列尺寸,并且在每次计算之后,我必须显示在我的 Tkinter window.

中的列图像的两侧标记的尺寸

那么是否可以对图像进行动态注释,如果不能,是否还有其他方法可以执行此任务?

看看下面的例子

from tkinter import *
from PIL import Image,ImageTk
import random

def annotate():
    annotation=str(random.randint(1000,9999))
    canvas.itemconfig(annotation_text,text=annotation)

root=Tk()

canvas=Canvas(root)
canvas.pack(fill='both',expand=True)

image=Image.open('example.png')
image=ImageTk.PhotoImage(image.resize((300,300)))
canvas.create_image(150,150,image=image)

annotation_text=canvas.create_text(50,50,text='')

button=Button(root,text='Annotate',command=annotate)
button.pack()

root.mainloop()

您可以使用itemconfig方法来配置文本。上面的示例将在单击按钮时使用随机整数对 (50,50) 处的图像进行注释。