如何在Matlab中保存GUI窗口(例如png)?

时间:2016-01-15 20:12:36

标签: matlab

我在Matlab中创建了一个GUI;

为了让它易于理解,假设只有一个静态和非静态文本字段,也只有一个按钮

在非静态文本字段中,可以输入数字a,按下按钮,我们在静态文本字段中得到答案,假设只有2 * a作为答案;

现在我想要一个GUI的屏幕截图,你可以在那里看到非静态字段中的数字a和静态文本字段中的结果; 所以按下按钮后它是如何显示的......

我怎样才能做到这一点?

提前致谢.. :))

1 个答案:

答案 0 :(得分:1)

好的,所以它实际上比我想象的更简单,ScreenCapture选项在你的情况下可能有点过分。

您需要的是getframe功能,它可以捕获您选择的轴或图形的内容,这里是GUI。

以下是您可以复制和粘贴的简单示例的代码。按下按钮后,会出现一个带有GUI内容的新窗口。您可以通过调用imwrite来替换该部分代码,以png格式保存图像。有用的代码是:

%// Capture content of current figure
F = getframe(gcf);

图像数据存储在结构cdata的{​​{1}}属性中,您可以使用该属性进行保存。

F

所以整个代码如下:

%// imwrite(F.cdata,...)

以及我计算机的屏幕截图:左侧是初始GUI,右侧是使用该GUI内容生成的新图形。

enter image description here