Я пытаюсь использовать MATLAB
для создания очень простой задачи Stroop, где участники должны решить, какой цвет будет напечатан на экране. По какой-то причине слова всегда обрезаются независимо от того, насколько большой или маленький шрифт.Как предотвратить появление текста на рисунках?
Я использовал следующий код, чтобы установить размер фигуры:
h = figure('Position', [1, 1, 1200, 800]);
set(h, 'NumberTitle', 'off', ...
'Name', 'Stroop Test', ...
'Color', 'black', ...
'MenuBar','none', ...
'ToolBar', 'none');
Для отображения реальных стимулов слово, я использовал следующий код:
ht = show_text(h, lang.words(iNoise),...
'FontSize', 60,...
'ForegroundColor', lang.colors{iStimul});
Добавлено:
function handle = show_text(parrent, string, varargin)
parpos = get(parrent, 'Position');
pos = [5 round(parpos(4)/2)-30 parpos(3)-10 60];
handle = uicontrol(parrent,...
'Style','Text',...
'BackgroundColor', 'black',...
'ForegroundColor', 'white',...
'Position', pos,...
'FontUnits', 'pixels');
if length(varargin) > 0, set(handle, varargin{:}), end;
fontsize = get(handle, 'FontSize');
[outstring,newpos] = textwrap(handle,string);
height = length(outstring) * 1.1 * fontsize;
pos = [5 round(parpos(4)/2)-round(height/2) parpos(3)-10 height];
set(handle,'String',outstring,'Position', pos);
drawnow;
end
Если кто-то может сказать мне, в чем проблема, это было бы здорово.
Не могли бы вы показать нам, что находится в функции 'show_text', это настраиваемая функция? –
oops, забыли включить это! Просто добавьте его – Alex
При необходимости я могу включить ссылки на реальные сценарии – Alex