Main Content

saveas

将图窗保存为特定文件格式

说明

示例

saveas(fig,filename)fig 指定的图窗或 Simulink® 模块图保存到 filename 文件中。将文件名指定为字符向量或字符串,包括文件扩展名,例如 'myplot.jpg'。文件扩展名用于定义文件格式。如果不指定扩展名,则 saveas 会将图窗保存为 FIG 文件。要保存当前图窗,请将 fig 指定为 gcf

示例

saveas(fig,filename,formattype) 使用指定的文件格式 formattype 创建文件。如果不在文件名中指定文件扩展名(例如 'myplot'),则与指定的格式对应的标准扩展名会自动附加到文件名后面。如果指定了文件扩展名,该扩展名不必与文件格式相匹配。saveas 为该格式使用 formattype,但会将文件保存为指定的扩展名。因此,文件扩展名可能与使用的实际格式不匹配。

示例

全部折叠

创建条形图并将其另存为 PNG 文件。

x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,'Barchart.png')

创建条形图并将其另存为 EPS 文件。指定 'epsc' 驱动程序以将图形保存为彩色图。

x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,'Barchart','epsc')

saveas 将条形图另存为 Barchart.eps

将名为 'sldemo_tank' 的 Simulink 模块图保存为 BMP 文件。使用 get_param 获取图形句柄。必须安装 Simulink 才能运行此代码。

sldemo_tank
fig = get_param('sldemo_tank','Handle');
saveas(fig,'MySimulinkDiagram.bmp');

输入参数

全部折叠

要保存的图窗,指定为图窗对象或 Simulink 模块图。如果指定其他类型的图形对象(例如坐标区),则 saveas 会将其父图窗保存到该对象中。

示例: saveas(gcf,'MyFigure.png')

要保存 Simulink 模块图,请使用 get_param 获取图形句柄。例如,保存名为 'sldemo_tank' 的模块图。

sldemo_tank
saveas(get_param('sldemo_tank','Handle'),'MySimulinkDiagram.bmp');

文件名,指定为字符向量或字符串,包括或不包括文件扩展名均可。

示例: 'Bar Chart'

示例: 'Bar Chart.png'

如果指定了文件扩展名,则 saveas 将使用相关联的格式。如果指定了文件扩展名,并且还指定了 formattype 输入参量,则 saveas 将为该格式使用 formattype,同时将文件保存为指定的文件名。因此,文件扩展名可能与使用的实际格式不匹配。

您可以为某一文件格式指定任意的对应扩展名。下表列出了部分常用的文件扩展名。

扩展名生成的格式
.fig

MATLAB® FIG 文件(对 Simulink 模块图无效)

.m

可以打开图窗的 MATLAB FIG 文件和 MATLAB 代码 (对于 Simulink 模块图无效)

.jpg

JPEG 图像

.png

可移植网络图形

.eps

EPS 3 级黑白

.pdf

可移植文档格式

.tif

TIFF 图像,已压缩

数据类型: char | string

文件格式,指定为以下其中一个选项:

  • 'fig' - 将图窗保存为具有 .fig 扩展名的 MATLAB 图窗文件。要打开以 .fig 扩展名保存的图窗,请使用 openfig 函数。此格式对于 Simulink 模块图无效。

  • 'm''mfig' - 将图窗保存为一个 MATLAB 图窗文件,并额外创建一个可以打开图窗的 MATLAB 文件。要打开图窗,需运行 MATLAB 文件。此选项对于 Simulink 模块图无效。

  • 位图文件格式 - 将格式指定为表图像文件格式中的位图选项之一。

  • 向量图形文件格式 - 将格式指定为 向量图形格式 表中的其中一种向量图形选项。

图像文件

图像包含以像素表示的图窗。生成的文件的大小取决于图窗、格式和系统分辨率。Web 浏览器和其他显示图形的应用程序广泛使用图像。但是,它们无法很好地支持透明度或缩放,而且您也无法在其他图形应用程序中修改其中的图形对象,例如线条和文本。

图像文件格式

选项格式默认文件扩展名
'jpeg'JPEG 24 位.jpg
'png'PNG 24 位.png
'tiff'TIFF 24 位(压缩).tif
'tiffn'TIFF 24 位(未压缩).tif
'meta'增强型图元文件(仅限 Windows).emf

向量图形文件

向量图形文件存储用于重新绘制图窗的命令。这种格式类型适合缩放,但可能导致文件较大。在某些情况下,向量图可能包含杂散线条或其他视觉瑕疵。某些应用程序支持对向量图形格式进行大量编辑,但是某些应用程序不支持调整图形大小以外的编辑。最佳做法是在图窗仍处于 MATLAB 中时进行所有必要的更改。

通常,生成向量图形文件时,saveas 会使用 Painters 渲染器。对于一些复杂图窗,saveas 会改用 OpenGL® 渲染器。如果它使用 OpenGL 渲染器,则向量图形文件会包含嵌入式图像,这可能会限制您可在其他应用程序中编辑该图像的程度。此外,如果 saveas 使用 OpenGL 渲染器生成文件,则不支持透明度。要确保 saveas 使用 Painters 渲染器,请将图窗的 Renderer 属性设置为 'painters'

如果设置了图窗的 Renderer 属性,则 saveas 将会使用该渲染器。否则,它会选择合适的渲染器。但是,如果 saveas 选择的渲染器与显示的图窗所用的渲染器不同,则所保存图窗的一些细节与显示的图窗可能有所不同。如果需要,您可以通过设置图窗的 Renderer 属性使显示的图窗和保存的图窗使用同一渲染器。

向量图形格式

选项格式默认文件扩展名
'pdf'整页可移植文档格式 (PDF) 颜色.pdf
'eps'PostScript® (EPS) 3 级黑白.eps
'epsc'封装的 PostScript (EPS) 3 级彩色.eps
'eps2'封装的 PostScript (EPS) 2 级黑白.eps
'epsc2'封装的 PostScript (EPS) 2 级彩色.eps
'meta'增强型图元文件(仅限 Windows®.emf
'svg'SVG(可伸缩向量图).svg

注意

只有 PDF 格式使用图窗的 PaperOrientation 属性以及 PaperPosition 属性的 leftbottom 元素。其他格式会忽略这些值。

提示

  • 要在保存图窗时控制尺寸或分辨率,请改用 print 函数。

  • saveas 函数和从文件菜单访问的另存为对话框生成的结果不相同。另存为对话框按屏幕分辨率和屏幕大小生成图像。saveas 函数使用 150 DPI 的分辨率,并使用图窗的 PaperPositionPaperPositionMode 属性确定图像的大小。

  • 已保存和打印的图窗的详细信息可能不同于图窗在屏幕上的显示。要获取与屏幕显示更一致的输出,请参阅使用特定大小、分辨率或背景色保存图窗

替代功能

从 R2020a 开始,您可以使用 exportgraphics 函数保存下列任一项的内容:坐标区、图窗、可作为图窗子级的图、分块图布局或容器(如面板)。当您需要执行以下操作时,此函数比 saveas 函数更合适:

  • 保存在 App 或 MATLAB Online™ 中显示的图形

  • 最小化内容周围的空白

  • 用可嵌入的字体保存 PDF 片段

  • 保存图窗中内容的一部分

  • 控制背景颜色,而不必修改图窗的属性

版本历史记录

在 R2006a 之前推出

全部展开