PNG vs. FIG File format - saveas function query

Hi,
I've been using the saveas function in my code to save the .fig files. However, the format of the .PNG file is quite different. The PNG file looks (size/ font) is different to the .fig plot.
But when I manually saveas from the matlab figure, File-->Save As (save as a PNG file), it saves it correctly without any change in the figure properties.
Is it something that we can make it similar to the .fig file?
Appreciate any responses, thanks in advance!
-Ferdinand

1 Commento

Do you mean you want to save the figure contents to a png, just as when you would make a screen capture? If so, there is a submission on the FEX that does just that and is compatible with just about every conceivable Matlab release.

Accedi per commentare.

 Risposta accettata

 the format of the .PNG file is quite different

It depends on what you save in the PNG, or in other word, if you save a screenshot or use print to create a PNG with modified properties.

To get a copy of the appearance of the figure:

F = getframe(FigHandle);
if isempty(F.colormap)
  RGB = F.cdata;
else
  RGB = ind2rgb(F.cdata, F.colormap);
end
imwrite(RGB, FileName, 'png');

4 Commenti

Ferd
Ferd il 23 Apr 2018
Modificato: Stephen23 il 23 Apr 2018

Great! This is exactly what I required. Thanks!

Will use the above method instead of what I was using, below was what I used,

saveas(gcf,[Savepath 'Plots - ' eval('filenames{i}') '.png']);

@Ferd: why do you need to use eval? It seems to serve no purpose:

saveas(gcf,[Savepath,'Plots - ',filenames{i},'.png'])

or even more robustly using fullfile:

fnm = fullfile(Savepath,['Plots - ',filenames{i},'.png'])
saveas(gcf,fnm)

@Ferd: Avoid eval as hell. See Tutorial: Avoid EVAL.

Didn't have info on it, was trying to write my own code. Updated it with the changes. eval will be avoided at all cost. Feel Mathworks should take away the function for upcoming versions.
Appreciate the advice/ suggestions outside the question, thanks a lot!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Printing and Saving in Centro assistenza e File Exchange

Tag

Richiesto:

il 20 Apr 2018

Commentato:

il 24 Apr 2018

Community Treasure Hunt

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

Start Hunting!

Translated by