代码之家  ›  专栏  ›  技术社区  ›  Gappy Hilmore

以较高dpi保存matlab图形文件

  •  0
  • Gappy Hilmore  · 技术社区  · 7 年前

    我有一个图形文件(.fig),我想保存为900 dpi的TIFF文件。

    通常,如果我自己创建绘图:

    figure;
    plot(x,y);
    

    print(gcf,'test.tif','-dpng','-r900');
    

    会产生我想要的图像。但是,我只有.fig文件,MATLAB不能通过关键字识别绘图窗口 gcf . 有没有办法从.fig文件中保存高分辨率图像?

    0 回复  |  直到 7 年前
        1
  •  4
  •   gnovice    7 年前

    函数 gcf 只返回当前图形句柄,因此如果通过打开.fig文件 openfig ,应该有用。以下示例以900 dpi的分辨率创建两个相同的TIFF文件,一个在保存.fig之前,另一个在加载.fig之后:

    surf(peaks);           % Create a surface plot
    print(gcf, 'before_save.tif', '-dpng', '-r900');  % Save figure as an image
    savefig('peaks.fig');  % Save figure in a .fig file
    close(gcf);            % Close figure
    
    openfig('peaks.fig');  % Recreate figure from .fig file
    print(gcf, 'after_save.tif', '-dpng', '-r900');  % Save new figure as an image