Screenshot entire window in AppDesigner

106 views (last 30 days)
Christian
Christian on 20 May 2019
Commented: Adam Danz on 15 Mar 2024 at 17:34
Hello everybody,
I'm currently building an app using AppDesigner. I want to implement a button, which captures a screenshot from the entire app after it's been pressed. So that I can compare different sets of data afterwards with just a quick look on their screenshots.
Unfortunately I cannot come up with an idea on how to make Matlab screenshot my entire app window. In a regular Matlab script I use the ScreenCapture function from FileExchange, but this seems not to work within AppDesigner.
imageData = screencapture(gcf,[],'myFigure.jpg');
Any suggestions on how to do this?
Since I have multiple tabs it would be ideal to come up with an idea on how to "screenshot" every tab with just one press of a button.
Cheers, Christian

Answers (1)

Adam Danz
Adam Danz on 1 Nov 2020
Starting in Matlab r2020b, you can take snapshots of an app / uifigure using the functions below.
See demos:
  7 Comments
Dorian
Dorian on 8 Mar 2024 at 12:50
Edited: Dorian on 8 Mar 2024 at 12:51
Hello,
I am using the exportapp function with Matlab R2023a and screenshoting my app does not work while having a very simple class :
function JourButtonPushed(app, event)
exportapp(app,'file.png');
end
It says "Specified handle is not valid for export." and there are no mentions of being able to capture the app itself in the help pages for exportapp or getframe. I have also directly tried the example shown in the link you sent, and app.MyApp (after changing MyApp to my actual app name) still claims that "MyApp" is an undefined class, property or field. Am I doing something wrong or were there changes in the most recent versions that hindered the compatibility ? While unrelated I have also experienced such issues with some app components not posessing an Alpha variable for transparency despite older posts being able to handle the transparency of the same components this way, so this is why I think the newer versions may have changed this aswell ?
Adam Danz
Adam Danz on 15 Mar 2024 at 17:34
@Dorian, the first argument needs to be a figure handle.
function JourButtonPushed(app, event)
exportapp(app.UIFigure,'file.png');
end

Sign in to comment.

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!