如何将.fig文件中的图形另存为具有更高dpi的图像?

时间:2019-06-20 18:26:39

标签: image matlab matlab-figure

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

通常,如果我自己创建情节:

figure;
plot(x,y);

然后输入命令:

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

将产生我想要的图像。但是,我只有.fig文件,而MATLAB无法通过关键字gcf识别该绘图窗口。有什么方法可以从.fig文件中保存高分辨率图像?

1 个答案:

答案 0 :(得分:4)

函数gcf仅返回当前的图形手柄,因此,如果您已经通过使用openfig打开.fig文件来重新创建了图形,则它应该可以工作。下面的示例以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