How to "Save As .jpg" a figure programmically?

I've got a following problem: I need to automatically save figures as jpg files. This is easily done by hand
(open the File-menu, go to Save As, choose jpg image). But how to do this programmically?
Mikael

 Akzeptierte Antwort

Jan
Jan am 20 Mär. 2019
Bearbeitet: Jan am 20 Mär. 2019

0 Stimmen

Either by
print(FigureHandle, 'C:\temp\File.jpg')
or
pause(0.02); % Magic update of java elements - don't ask me why...
F = getframe(FigureHandle);
[X, map] = frame2im(F);
imwrite(X, map, 'C:\temp\File.jpg');

1 Kommentar

Mikael Agopov
Mikael Agopov am 26 Mär. 2019
Bearbeitet: Mikael Agopov am 26 Mär. 2019
Thanks to Walter and Jan,
Solved the issue using print():
1) take the screencapture and save it to the object as a property
sc=print('-RGBImage');
set(obj,'ScreenCapt',sc);
...
2) later, when saving results, open up a dummy figure (not visible), imshow the screencapture on it and print the figure
into a file.
H=figure('Visible','off');
imshow(get(obj,'ScreenCapt'));
print(H,'screencapt.png','-dpng');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Printing and Saving finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2018b

Gefragt:

am 20 Mär. 2019

Bearbeitet:

am 26 Mär. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by