When I save a figure to a file (saveas , hgexport) the figure is re-sized. How do I save a figure to a file that is identical to the screen figure (i.e. not resized)? Why isn't this the default for saving figures?

조회 수: 6(최근 30일)
I have changed the figure size using:
figure('OuterPosition',[1 1 scrsz(3)/1.1 scrsz(4)/1.1]);
When I attempt to save the figure to a file (png, bmp, jpg) using saveas or hgexport, the figure size is resized back to default. How do I avoid this?
Using the figure window menu bar and edit>copy figure copies the screen figure to the clipboard without re-sizing. Why isn't this easy to do with Matlab commands?

채택된 답변

Walter Roberson
Walter Roberson 2015년 7월 20일
You probably need to look at the figure PrintPosition and PrintPositionMode properties.
  댓글 수: 2
David
David 2015년 7월 21일
I did search the help database for paper Position Mode and I found the following. This does solve the problem. Thanks for your help.
set(gcf,'PaperPositionMode','auto') % Use screen size

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

추가 답변(1개)

Allen Goldstein
Allen Goldstein 2021년 1월 21일
You need to change the Resolution in the factorystyle to 0:
style = hgexport('factorystyle'); % get the style
style.Resolution = 0; % Resolution = 0 meanst use the screen resolution
hgexport(data,'-clipboard',style);

Community Treasure Hunt

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

Start Hunting!

Translated by