matlab getframe of single GUI panel

I would like to create a png of a single panel placed in a matlab-gui, created with 'guide'. However I am able to save a screenshot of the whole GUI via
frame = getframe(specificGUIHandle); % tag of GUI-figure
imwrite(frame.cdata, 'wholeGUI.png');
But I would like to use
frame = getframe(specificPanelHandle); % tag of panel within GUI-figure
imwrite(frame.cdata, 'panel.png');
Obviously this does not work. I would like to receive a .png which simply contains a screenshot of wholeGUI.png where the panel is located. I AM able to receive the coordinates where the panel is located with
pos = getpixelposition(specificGUIHandle);
But I do not know how to use those informations...any ideas? Thanks in Advance!

 Risposta accettata

Walter Roberson
Walter Roberson il 31 Ott 2017

0 voti

The official solution for these kinds of things is to create a new figure and copyobj the panel into the new figure and then capture the new figure.
I know that export_fig uses that strategy for some operations; I do not recall at the moment whether it handles your particular case directly; if not then I am sure Yair would consider that as an enhancement.

1 Commento

Thanks a lot and sorry for the late response. I kinda figured this out couple days after and forgot to close this issue.

Accedi per commentare.

Più risposte (1)

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by