Saving resized figures in loop does all but last correctly

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Matt J
Matt J il 30 Ott 2023
Maybe use export_fig or exportgraphics, instead of saveas.
  1 Commento
AES
AES il 30 Ott 2023
Modificato: AES il 30 Ott 2023
Thank you this solved the issue. For reference I ended up using exportgraphics*

Accedi per commentare.

Più risposte (1)

Matt J
Matt J il 30 Ott 2023
Modificato: Matt J il 30 Ott 2023
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

Categorie

Scopri di più su Printing and Saving in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by