Como salvar a figura do MATLAB como JPEG usando saveas () sem a imagem sair mal?
Em uma função do MATLAB estou escrevendo, estou gerando uma figura. A figura é exibida quando a função é executada. Eu preciso salvar a figura como uma imagem JPEG. Para fazer isso, eu poderia fazer File-> Save As na janela de figura que exibe a figura. Mas eu gostaria de automatizar isso. Eu tentei fazer isso usando a função saveas (). O problema é que a imagem resultante é indesejável. Aqui estão as imagens para um problema de demonstração para mostrar o que quero dizer:
Imagem JPEG salva manualmente usando Arquivo-> Salvar Como na janela de figura do MATLAB:
Imagem JPEG salva usando a função saveas () (observe que os gráficos não são tão bons e os títulos se sobrepõem):
Aqui está a função MATLAB na qual eu gero a figura e salvo a figura como um JPEG usando saveas ():
function JpgSaveIssueDemo( )
figure( 1 );
t = 0:0.1:8;
subplot( 2, 2, 1 );
plot( t, sin(t) );
title( 'Plot 1 of Example to Demonstrate JPG Save Issue', 'FontSize', 18 );
subplot( 2, 2, 2 );
plot( t, sin(t) );
title( 'Plot 2 of Example to Demonstrate JPG Save Issue', 'FontSize', 18 );
subplot( 2, 2, 3 );
plot( t, sin(t) );
title( 'Plot 3 of Example to Demonstrate JPG Save Issue', 'FontSize', 18 );
subplot( 2, 2, 4 );
plot( t, sin(t) );
title( 'Plot 4 of Example to Demonstrate JPG Save Issue', 'FontSize', 18 );
saveas( gcf, 'DemoPlot', 'jpg' );
end
A figura exibida quando o JpgSaveIssueDemo () é executado não é maximizada. Então, eu pensei que se eu pudesse maximizá-lo usando a função call / s em JpgSaveIssueDemo ()antes saveas () é executado, então a imagem JPEG salva sairia bem.
Então, eu usei esse código antes da linha saveas () em JpgSaveIssueDemo () para maximizar a figura:
drawnow;
jFrame = get(handle(gcf),'JavaFrame');
jFrame.setMaximized(true);
Em seguida, a figura exibida é maximizada. No entanto, o resultado é o mesmo: a imagem JPEG ainda sai indesejada.
O que pode ser feito para isso?