Sal*_*ali 36 matlab export maximize-window matlab-figure
我在MATLAB中创建一些数字并自动将它们保存到文件中.根据定义,图像很小的问题.手动解决我的问题的一个好方法是创建一个图像(图),最大化它,并保存到文件.
我错过了自动最大化数字的这一步.
有什么建议?到目前为止我只发现了这个:
http://answers.yahoo.com/question/index?qid=20071127135551AAR5JYh
http://www.mathworks.com/matlabcentral/newsreader/view_thread/238699
但没有人解决我的问题.
yuk*_*yuk 62
这对我有用:
figure('units','normalized','outerposition',[0 0 1 1])
Run Code Online (Sandbox Code Playgroud)
或者对于当前的数字:
set(gcf,'units','normalized','outerposition',[0 0 1 1])
Run Code Online (Sandbox Code Playgroud)
我还在使用java的FileExchange上使用了MAXIMIZE函数.这是真正的最大化.
The*_*uck 22
对于实际的Maximize(就像单击OS X和Windows的UI中的最大化按钮一样)您可以尝试以下调用隐藏Java句柄的方法
figure;
pause(0.00001);
frame_h = get(handle(gcf),'JavaFrame');
set(frame_h,'Maximized',1);
Run Code Online (Sandbox Code Playgroud)
这pause(n)
是必不可少的,因为上面的内容超出了Matlab的范围,并且位于一个单独的Java线程上.设置n
为任何值并检查结果.计算机在执行时的速度越快,越小n
.
完整的"文档"可以在这里找到
Dev*_*-iL 11
从R2018a开始,figure
以及uifigure
对象包含一个名为的属性WindowState
.'normal'
默认设置为,但将其设置为可'maximized'
提供所需的结果.
结论:
hFig.WindowState = 'maximized'; % Requires R2018a
Run Code Online (Sandbox Code Playgroud)
顺便说一句,为了解决您的原始问题 - 如果您想将图像的内容导出到图像而不必担心结果太小 - 我强烈推荐该export_fig
实用程序.
要最大化图形,您可以模拟实际使用的键序列:
要以编程方式发送密钥,您可以使用类似于此答案的基于Java的过程,如下所示:
h = figure; %// create figure and get handle
plot(1:10); %// do stuff with your figure
figure(h) %// make it the current figure
robot = java.awt.Robot;
robot.keyPress(java.awt.event.KeyEvent.VK_ALT); %// send ALT
robot.keyPress(java.awt.event.KeyEvent.VK_SPACE); %// send SPACE
robot.keyRelease(java.awt.event.KeyEvent.VK_SPACE); %// release SPACE
robot.keyRelease(java.awt.event.KeyEvent.VK_ALT); %// release ALT
robot.keyPress(java.awt.event.KeyEvent.VK_X); %// send X
robot.keyRelease(java.awt.event.KeyEvent.VK_X); %// release X
Run Code Online (Sandbox Code Playgroud)
瞧!窗户最大化!