How to save app.Tab as image (.png for example)

조회 수: 16 (최근 30일)
FD
FD 2024년 7월 25일
댓글: FD 2024년 7월 31일
I have five app.Tabs.
First Tab is named app.Cooling.
Content of this app.Cooling:
1) picture of cooling system
2) app. fields with temperature value
3) plots of 4 diagrams (app.UIAxes) and legends
This app.Cooling I want to save as image (.png).
I try exportgraphics, saveas etc., but it doesn't work.
Schema of my example:
How I can save this whole tab as image?

채택된 답변

Avni Agrawal
Avni Agrawal 2024년 7월 25일
Hi @FD,
I understand that you are trying to capture a snapshot of a specific tab in MATLAB App Designer, including all its contents like images, fields, and plots, you can use a workaround that involves capturing the entire figure and then cropping the relevant section corresponding to the tab.
Below is an example code snippet that demonstrates how to achieve this:
%call this function by passing appropriate tab needed to be captured and file name.
function takeSnapshot(app, tab, filename)
% Ensure the tab is selected
app.TabGroup.SelectedTab = tab;
% Pause to ensure the UI is fully rendered
pause(1);
% Capture the entire figure
frame = getframe(app.UIFigure);
img = frame.cdata;
% Save the image
imwrite(img, filename);
disp(['Snapshot saved as ', filename]);
end
I hope this helps!
  댓글 수: 5
Avni Agrawal
Avni Agrawal 2024년 7월 30일
Hi,
To capture all five tabs at once, here is a code snippet with an example of capturing two tabs:
% Select the first tab and capture its content
app.TabGroup.SelectedTab = app.Tab;
pause(1);
frame = getframe(app.UIFigure);
img = frame.cdata;
% Save the image
imwrite(img, 'test1.png');
% Select the second tab and capture its content
app.TabGroup.SelectedTab = app.Tab2;
pause(1);
frame = getframe(app.UIFigure);
img = frame.cdata;
% Save the image
imwrite(img, 'test2.png');
In this example, `app.Tab` and `app.Tab2` are two tabs from the Tab group. Please rename the tabs according to your code.
I hope this helps!
FD
FD 2024년 7월 31일
This works perfectly :-)
Very big thank You!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Just for fun에 대해 자세히 알아보기

제품


릴리스

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by