我有一个项目,需要把多个数据文件画成的曲线一个个保存为图片,然后再进行集中对比分析。程序运行后,打开目录下保存的图片,发现图片的尺寸都很小,画质也不清晰,后来发现原来matlab显示图片的时候,窗口尺寸默认不是最大化,而在这种情况下保存的图片尺寸,就是默认的小窗口的尺寸。于是我的需求就是图表显示前先最大化。
在网上搜索了一下,发现没有好的解决方案,matlab貌似没有给出窗口最大化的接口。一般的办法就是:
Matlab
figure;
set(gcf,'outerposition',get(0,'screensize'));
但是这个效果不尽如人意,左右宽度不够,上下宽度超出屏幕范围,不是最大化的效果,对于追求完美的同学来说比较别扭。实际上把这个方案加以修改,就可以获得比较完美的结果。步骤如下:
1,在命令行输入:figure; %创建一个图表窗口。
2,手动点击窗口的最大化按钮,将其最大化。
3,在命令行输入:size = get(gcf,'OuterPosition'); %获取最大化后窗口的尺寸
比如我的结果就是size = [-6.2, 33.8, 2062.4, 1126.4]
4,在你的代码里,在需要窗口最大化的时候,添加以下代码(尺寸按照你实际的来):
Matlab
figure;
set(gcf,'OuterPosition', [-6.2, 33.8, 2062.4, 1126.4]);
这时候窗口的尺寸就和最大化后的尺寸一模一样了。