打印图窗或保存为特定文件格式
语法
说明
print(
使用指定的文件格式将当前图窗保存到文件中,例如 filename
,formattype
)print('BarPlot','-dpng')
。如果该文件不包括扩展名,则 print
会附加适用的扩展名。
print(
指定可用于某些格式的其他选项。filename
,formattype
,formatoptions
)
print
将当前图窗输出到默认打印机。
print(
指定打印机。将打印机指定为字符向量或字符串,其中包含以 printer
)-P
开头的打印机名称,例如 '-Pmy printer'
。该打印机必须已设置在您的系统上。
print(
指定驱动程序。如果您要确保打印的输出为黑白色或彩色,则使用此选项。driver
)
print(
使用 '-clipboard'
,clipboardformat
)clipboardformat
指定的格式将当前图窗复制到剪贴板。您可以将复制的图窗粘贴到其他应用程序中。
print(
将图窗最大化以填满页面。将 resize
,___)resize
指定为 '-bestfit'
可保留图窗的纵横比,指定为 '-fillpage'
则忽略纵横比。这些选项仅当保存为页面格式(PDF 和 PS)或者发送给打印机进行打印时才有效。此选项可与上述语法中的任何输入参量一起使用。
print(
使用指定的分辨率。将分辨率指定为字符向量或字符串,其中包含以 resolution
,___)-r
开头的整数值,例如 '-r200'
。此选项可与上述语法中的任何输入参量一起使用。
print(
使用指定的渲染器。渲染器可指定为 renderer
,___)'-vector'
或 '-image'
。
返回当前图窗的 RGB 图像数据。此选项与截屏的区别在于所有打印功能都可应用于输出。您还可以使用此语法指定 cdata
= print('-RGBImage');resolution
、renderer
和 fig
选项。但是,您不能指定 Simulink 模块图。
示例
输入参数
输出参量
局限性
在 Linux 上以非显示模式启动 MATLAB 或在任何平台上使用
-noFigureWindows
启动选项会对print
施加以下限制:打印或保存具有可见 uicontrol 错误的图窗。
始终使用 Painters 渲染器,即使您指定
'-image'
选项也如此。
在 MATLAB Online™ 中,
print
仅打印到 PDF。有关其他文件格式选项,请通过指定filename
将图窗保存到文件。当 MATLAB 处于无显示模式时,所有 Simulink 打印功能(包括打印到文件)都将关闭。
详细信息
提示
您可以设置图窗的属性以控制某些打印和保存参数。此表列出了与打印和保存相关的图窗的属性。
图窗属性 描述 PaperPosition
打印或保存的图窗的大小。如果输出到打印机或全页输出格式,则此属性还确定页面上的图窗位置。 PaperPositionMode
指定是否使用 PaperPosition
属性或屏幕上图窗的大小来设置打印或保存的图窗的大小。InvertHardcopy
指定在打印或保存图窗时,是使用图窗的当前背景色还是将背景色更改为白色。 PaperOrientation
图窗在打印页上的方向。 PaperType
标准打印机纸张大小。 PaperSize
打印机纸张的自定义宽度和高度。 PaperUnits
PaperSize
和PaperPosition
属性的单位。如果您使用的是 Linux 或 Mac 系统,并收到有关无效或无法识别的打印机的错误,请将图窗的内容另存为 PDF 文件。例如:
然后使用外部 PDF 查看器打印该 PDF 文件。print('MyPlot.pdf','-dpdf')
如果您打印的图窗为
SizeChangedFcn
属性定义了回调,并且图窗的输出大小不同于屏幕上的图窗大小,print
函数将显示一条警告消息。要避免该警告消息,请将图窗的PaperPositionMode
属性设置为'auto'
。
替代功能
自 R2020a 开始提供
exportgraphics
函数保存下列任一项的内容:坐标区、图窗、可作为图窗子级的图、分块图布局或容器(如面板)。当您需要执行以下操作时,此函数比 print
函数更合适:
保存在 App 或 MATLAB Online 中显示的图形
最小化内容周围的空白
用可嵌入的字体保存 PDF 片段
保存多页 PDF(自 R2021b 开始提供)
保存图窗中内容的一部分
控制背景颜色,而不必修改图窗的属性
copygraphics
函数提供与 exportgraphics
函数大致相同的功能,只是前者会将内容复制到系统剪贴板,而不是保存到文件中。使用此函数可将 MATLAB 的内容复制并粘贴到其他应用程序中。