How to save scope to an image file without using plot?

后端 未结 3 1114
不知归路
不知归路 2021-01-06 08:07

This condition is very important, because plot stretches my graph in an unacceptable manner.

相关标签:
3条回答
  • 2021-01-06 08:16

    If the comment by MikeT is correct, and you are trying to save the image shown in a Scope block, there are a couple of ways you could do this:

    • Print the contents of the scope window by clicking the Print icon, the leftmost icon on the Scope toolbar. Then choose to print to a file instead of to a printer.
    • Create an editable figure from a scope block using the SIMPLOT function. This will create a figure that looks like the display on the screen of a Scope block, then you can save the figure to a file using the figure window's File menu or the functions SAVEAS or PRINT.
    0 讨论(0)
  • 2021-01-06 08:17

    A quick solution would be to choose File - Print to Figure inside the scope. Then a Figure opens that you can save as .fig.

    0 讨论(0)
  • 2021-01-06 08:25

    As the answer of gnovice is outdated (at least since R2013), and the new builtin function is rather inconvenient to use, I'd like to suggest my little script.

    set(0,'ShowHiddenHandles','On')
    set(gcf,'Units','centimeters','PaperUnits','centimeters')
    pos = get(gcf,'Position');
    set(gcf,'PaperPosition',[0 0 pos(3) pos(4)],'Papersize',[ pos(3),pos(4) ]);
    set(gcf,'InvertHardcopy','off','Renderer','painters')
    saveas(gcf,'scope.pdf')
    

    Which gives you a vector graphic in exactly the same size and look, like the last opened scope window. Of course you can modify additional properties and also print it as jpeg with a certain resolution. But then you should rather use print:

    ...
    set(gcf,'Renderer','zbuffer')
    print(gcf,'scope.jpg','-djpeg','-r600')
    

    results into a 600dpi Jpeg file. The units doesn't really matter, as long as they are consistent between figure and paper.

    0 讨论(0)
提交回复
热议问题