Saving resized figures in loop does all but last correctly

1 回表示 (過去 30 日間)
AES
AES 2023 年 10 月 30 日
編集済み: AES 2023 年 10 月 30 日
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

採用された回答

Matt J
Matt J 2023 年 10 月 30 日
Maybe use export_fig or exportgraphics, instead of saveas.
  1 件のコメント
AES
AES 2023 年 10 月 30 日
編集済み: AES 2023 年 10 月 30 日
Thank you this solved the issue. For reference I ended up using exportgraphics*

サインインしてコメントする。

その他の回答 (1 件)

Matt J
Matt J 2023 年 10 月 30 日
編集済み: Matt J 2023 年 10 月 30 日
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 件のコメント
AES
AES 2023 年 10 月 30 日
Thanks for your suggestion. Still having the same issue, unfortunately.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangePrinting and Saving についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by