在 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)
处的图像进行注释。
所以我在我的 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)
处的图像进行注释。