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

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Jan
Jan il 20 Mar 2019
Modificato: Jan il 20 Mar 2019
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 Commento
Mikael Agopov
Mikael Agopov il 26 Mar 2019
Modificato: Mikael Agopov il 26 Mar 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');

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by