Как использовать getframe () с объектом MATLAB GUIDE (GUI) для создания фильма? - PullRequest
2 голосов
/ 23 июня 2011

Я хотел бы использовать getframe , чтобы сделать снимок экрана моего милого графического объекта, который я создал с помощью GUIDE .Я не могу просто использовать функциональность OS PrintScreen, потому что мне нужно сделать фильм о том, что происходит в окне GUI, то есть захватить тысячи кадров.

Однако, поскольку объект GUIDE, очевидно, не является нормальной фигурой (это можно продемонстрировать с помощью getframe (gcf), который с радостью открывает новое, пустое окно «Рисунок 1»), я не знаю, какой дескриптор я мог бы использовать, чтобы getframe () захватывал содержимое моего окна с графическим интерфейсом.

Есть идеи?

1 Ответ

2 голосов
/ 23 июня 2011

Я предполагаю, что 'HandleVisibility свойство вашего рисунка GUIDE GUI установлено в 'off', что не позволит его дескриптору быть найденным такими функциями, как FINDOBJ . Однако вы можете использовать функцию FINDALL , чтобы найти скрытый дескриптор фигуры вашего графического интерфейса, а затем передать этот дескриптор GETFRAME вместо gcf. Например, если ваша фигура с графическим интерфейсом имеет заголовок 'My GUI', вы можете сделать это:

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