小编ctp*_*ctp的帖子

在显示新图像时,如何保持Matlab图形窗口最大化?

我正在使用Matlab编程GUI进行实验,测试参与者将查看一系列图像,并在每个图像之后响应图像的评级.

我希望窗口始终保持最大化.图像将显示几秒钟,然后删除,一些滑块将显示为评级.接下来,将隐藏滑块,并显示新图像等...

到目前为止,我已经开始使用最大化的图形窗口,直到我加载图像并使用imshow或image命令显示它,这会导致图形窗口调整大小并适合图像,而不是保持最大化.如果我再次最大化图形窗口,它会导致窗口框架出现明显的闪烁,首先被最大化,然后调整大小,然后再次最大化 - 我想避免的闪烁.

如何保持窗口最大化,并以1:1的比例显示图像(未缩放或调整大小以适应最大化窗口)?

我知道PsychToolbox,但它似乎没有创建滑块的命令(我将用于评级),我宁愿不必从头开始.我也从Matlab文件交换中查看了windowAPI,但仍未找到解决方案.

下面是我现在拥有的一个例子(在Windows 7 64位上使用Matlab R2013a):

screenSize = get(0,'screensize');
screenWidth = screenSize(3);
screenHeight = screenSize(4);

% Create figure window, keeping it invisible while adding UI controls, etc.
hFig = figure('Name','APP',...
    'Numbertitle','off',...
    'Position', [0 0 screenWidth screenHeight],...
    'WindowStyle','modal',...
    'Color',[0.5 0.5 0.5],...
    'Toolbar','none',...
    'Visible','off');

% Make the figure window visible
set(hFig,'Visible','on');

% Maximize the figure window, using WindowAPI
WindowAPI(hFig, 'Position', 'work');

% Pause (in the full version of this script, this would instead be
% a part …
Run Code Online (Sandbox Code Playgroud)

matlab user-interface figure

3
推荐指数
1
解决办法
3943
查看次数

标签 统计

figure ×1

matlab ×1

user-interface ×1