Как я могу выровнять несколько символов в Psychtoolbox? - PullRequest
0 голосов
/ 22 января 2019

Я супер новичок в MatLab, и сейчас я сижу за компьютером и не знаю, как решить эту проблему.Я планирую показать своим участникам строку, в которой одна буква (положение буквы меняется) должна находиться в определенной позиции на экране и иметь другой цвет на экране, буквы до и буквы после должны быть ориентированы в зависимости отположение этой буквы и другого цвета (в основном я пытаюсь восстановить spritz.com).Пока все хорошо, я знаю, как выровнять фрагменты, чтобы они не перекрывались по горизонтали.Но я не знаю, как обращаться с буквами, которые имеют разный размер (например: «у» против «г» против «о»), потому что они будут иметь другую позицию, и для участника они не появляютсянаходиться в одной строке.

Итак, вопрос в том, как я могу выровнять строки в строке с разными источниками строки, чтобы ay находился на одной строке с o и a.Теперь тот самый нижний пиксель каждой буквы находится в одной строке, но части буквы 'y' должны быть немного ниже, чем, например, реклама.Вот мой упрощенный код, который я получил до сих пор:

[nxORP, nyORP, wb] = DrawFormattedText2('p',...
    'win', w1, 'sx', 960, 'sy', 553, 'xalign', 'left', 'yalign', 'bottom');

DrawFormattedText2('d',...
    'win', w1, 'sx', wb(1), 'sy', 553, 'xalign', 'right', 'yalign', 'bottom');

DrawFormattedText2('y',...
    'win', w1, 'sx', wb(3), 'sy', 553, 'xalign', 'left', 'yalign', 'bottom');

Кто-нибудь может мне помочь?

PS: с помощью http://psychtoolbox.org/docs/DrawFormattedText2 я увидел это: "Таким образом, чтобы использовать (nx, ny) в качестве новой начальной позиции для соединения дальнейших текстовых строк, вам нужно нарисовать эти строки с помощью yPositionIsBaseline == true. "но я не знаю, как это сделать и будет ли это решением.Любая помощь приветствуется.Всего наилучшего, Доминик

1 Ответ

0 голосов
/ 23 января 2019

Если вы используете моноширинный шрифт, то буквы будут одинаковой ширины.Доступные шрифты будут различаться в зависимости от вашей операционной системы, но Courier - это обычный моноширинный шрифт.

Шрифт можно указать один раз с помощью Screen(‘TextFont’): http://psychtoolbox.org/docs/Screen-TextFont

или как одинтегов форматирования при использовании DrawFormattedText2: http://psychtoolbox.org/docs/DrawFormattedText2

...