gpt4 book ai didi

matlab - 如何防止文本在图形上出现裁剪?

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:46 25 4
gpt4 key购买 nike

我正在尝试使用 MATLAB 设计一个非常简单的 Stroop 任务,参与者必须决定一个单词在屏幕上的打印颜色。出于某种原因,无论字体大小,单词总是被裁剪。

enter image description here

我使用以下代码设置图形大小:

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 函数中的 height 变量偏移一个更大的任意因子,会发生什么:

height = length(outstring) * 1.5 * font size;

而不是 1.1?或者尝试 2

关于matlab - 如何防止文本在图形上出现裁剪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com