0

对于眼动追踪研究,我需要绘制到窗口的文本中每个单词的位置。我可以看到如何将整个文本的边界框作为返回值使用

[nx, ny, textbounds] = DrawFormattedText(win, tstring)

有没有比使用这个函数逐字绘制一个完整的句子更好的方法?

4

1 回答 1

0

这样的事情应该这样做:

teststr = {'Hello World!' ; 'How are you doing?'}

ystart = 100
xstart = 200
wordgap = 10

for i=1:size(teststr,1)

  str=teststr{i};
  wordlist = strsplit(str , ' ');

  for j=1:size(wordlist)(1)
    [nx, ny, textbounds]=DrawFormattedText(win, wordlist{j} ,xstart, ystart);
    poslist{j} = textbounds;
    xstart=nx+wordgap;
  end

end

不漂亮,但它有效。如果你有换行符,你会遇到问题。

编辑:2015-07-14:添加了 wordgap 建议 sven.io

于 2015-07-12T09:03:26.937 回答