Saving resized figures in loop does all but last correctly

I am trying to save all my figures after resizing them to fit my entire screen. I use a loop to go through the figures, however, while the last figure is resized correctly it is not saved as a png at the correct size. This is true no matter the order I save the figures. Any tips on how to solve this? Below is a small snippet of code:
h = findall(groot, 'Type', 'figure');
for numFig = 1:length(h)
figure(numFig)
set(numFig, 'Position', get(0, 'Screensize'));
saveas(h(numFig), [tempLoc, h(numFig).Name, '.png'])
end

 Accepted Answer

Maybe use export_fig or exportgraphics, instead of saveas.

1 Comment

Thank you this solved the issue. For reference I ended up using exportgraphics*

Sign in to comment.

More Answers (1)

Maybe issue a call to drawnow?
h = findall(groot, 'Type', 'figure');
for numFig = 1:length(h)
figure(numFig)
set(numFig, 'Position', get(0, 'Screensize')); drawnow
saveas(h(numFig), [tempLoc, h(numFig).Name, '.png'])
end

1 Comment

Thanks for your suggestion. Still having the same issue, unfortunately.

Sign in to comment.

Categories

Find more on Printing and Saving in Help Center and File Exchange

Asked:

AES
on 30 Oct 2023

Edited:

AES
on 30 Oct 2023

Community Treasure Hunt

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

Start Hunting!