How to copy a plot to clipboard programmatically

71 vues (au cours des 30 derniers jours)
Gregory Smith
Gregory Smith le 11 Mai 2021
Commenté : Adam Danz le 21 Mai 2021
I'm trying to copy a plot to clipbard programmatically.
I have an old data plotting tool bult using guide. It has a cmd button to deploy the plots into a window where the plot is formatted perfectly to comply with our journel figure formatting rules. In that deployed window I can click Edit > Copy Figure to copy the figure to clipbard and maintain all the formatting; however, I want to do that programmatically.
According to the documentation, this should work:
print -clipboard -dbitmap
However, that copies the plotting tool gui, not the deployed figure window.
I also tried:
figure(handles.PlotOptions.DeployHandle)
print -clipboard -dbitmap
That didn't change anything. I cant work out how to set focus to the deployed figure window not the plot tool window.
I also tried:
copygraphics(handles.PlotOptions.DeployHandle,'ContentType','vector')
%and
copygraphics(handles.PlotOptions.DeployHandle)
This copied the correct figure window; however, it trimmed out all the borders.
I just want exactly what happens when you create a plot figure and click Edit > Copy Figure
  1 commentaire
Adam Danz
Adam Danz le 21 Mai 2021
I also tried:
copygraphics(handles.PlotOptions.DeployHandle,'ContentType','vector')
This copied the correct figure window; however, it trimmed out all the borders.
What does that mean? Could you should us a screenshot? I use copygraphics all the time to do what you're describing.

Connectez-vous pour commenter.

Réponse acceptée

Khaled Hamed
Khaled Hamed le 18 Mai 2021
  2 commentaires
Gregory Smith
Gregory Smith le 21 Mai 2021
thank you, but both of these options result in the figure being saved to a file. I already have code that does that.
I'm looking to copy the plot to the clipboard so it can quickly be pasted into a document, or email.
Khaled Hamed
Khaled Hamed le 21 Mai 2021
Try
editmenufcn(newFig,'EditCopyFigure');
or
hgexport(newFig,'-clipboard');
or
print(newFig,'-dmeta');
where newFig is the handle of the new invisible figure

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Printing and Saving dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by