我们即将进行眼动追踪研究,我们将尝试评估屏幕上显示的特定单词的凝视。我有许多 .txt 文件需要转换为图像并显示在屏幕上以进行实验。我正在尝试找到一种布局文本的方法,以便我知道屏幕上每个单词的确切位置和长度。
我想过使用 tkinter 在画布内布局文本。我不太确定这是否是一种好方法以及如何将输出转换为图像。另一种方法可能是使用 PIL。
有什么建议么 ?
谢谢 !!!
我们即将进行眼动追踪研究,我们将尝试评估屏幕上显示的特定单词的凝视。我有许多 .txt 文件需要转换为图像并显示在屏幕上以进行实验。我正在尝试找到一种布局文本的方法,以便我知道屏幕上每个单词的确切位置和长度。
我想过使用 tkinter 在画布内布局文本。我不太确定这是否是一种好方法以及如何将输出转换为图像。另一种方法可能是使用 PIL。
有什么建议么 ?
谢谢 !!!
If you use a canvas, with bbox
you can return the bounding box of the items.
from Tkinter import *
def callback(event, text_id):
print event.widget.bbox(text_id)
root = Tk()
canvas = Canvas(root, width=400, height=200)
text = "the lazy dog jumped over the brown fox"
offset = 20
for word in text.split(" "):
text_id = canvas.create_text(offset, 50, text=word, anchor=W)
bbox = canvas.bbox(text_id)
offset += bbox[2] - bbox[0] + 5
canvas.tag_bind(text_id, "<Button-1>",
lambda e, i=text_id: callback(e, i))
canvas.pack()
root.mainloop()