如何将 getframe() 与 MATLAB GUIDE (GUI) 对象一起使用来制作电影?

发布于 2024-11-17 05:40:04 字数 415 浏览 4 评论 0原文

我想使用 getframe 捕获我漂亮的 GUI 对象的屏幕截图,我使用 GUIDE 创建的。我不能只使用 OS PrintScreen 功能,因为我需要制作 GUI 窗口中发生的事情的电影,即捕获数千帧。

然而,由于 GUIDE 对象显然不是一个正常的图形(这可以通过 getframe(gcf) 来演示,它会愉快地打开一个新的、空的“图 1”窗口),所以我不知道我可能会使用什么句柄getframe() 捕获 GUI 窗口的内容。

有什么想法吗?

I would like to use getframe to capture a screenshot of my nice GUI object, which I created using GUIDE. I can't just use OS PrintScreen functionality because I need to make a movie of something that happens in the GUI window, i.e. capture thousands of frames.

However, since a GUIDE object is apparently not a normal figure (this can be demonstrated by getframe(gcf), which cheerfully opens a new, empty 'Figure 1' window), I'm at a loss what handle I might use to have getframe() capture the contents of my GUI window.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深空失忆 2024-11-24 05:40:04

我猜测 'HandleVisibility 属性< GUIDE GUI 图窗的 /a> 设置为 'off',这将防止其句柄被 FINDOBJ。但是,您可以使用函数 FINDALL 来查找隐藏的句柄GUI 图,然后将该句柄传递给 GETFRAME 而不是 gcf。例如,如果您的 GUI 图的标题为 'My GUI',您可以执行以下操作:

hFigure = findall(0,'Name','My GUI');
frameData = getframe(hFigure);

I'm guessing that the 'HandleVisibility property of your GUIDE GUI figure is set to 'off', which would keep its handle from being found by functions like FINDOBJ. However, you can use the function FINDALL to find the hidden handle of your GUI figure, then pass that handle to GETFRAME instead of gcf. For example, if your GUI figure has the title 'My GUI', you could do this:

hFigure = findall(0,'Name','My GUI');
frameData = getframe(hFigure);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文