快速问题:我在Matlab中使用patch()或fill()函数创建"随机"多边形。这工作得很好,它是正确绘制的。
然而,我需要至少保存几百个多边形作为图像到我的硬盘驱动器,以便以后使用它们-所以我正在寻找一种方法来直接保存图像在我的函数中,而不是使用文件菜单保存每个多边形。
有什么办法可以做到吗?
提前感谢!
您确实可以使用print
功能,但我不会使用jpeg
设备。JPEG是永远不是绘图的正确格式(您将在所有行附近获得许多伪影)。
如果您需要位图图像,请尝试png
或tiff
设备。如果您不需要位图,请使用适当的矢量图像格式:fig
是本机MATLAB格式(允许您事后编辑绘图),因此如果您坚持使用MATLAB进行所有操作,这是最好的格式。对于导出到其他软件,我推荐pdf
(几乎适用于任何地方),epsc
(彩色EPS,适用于LaTeX或inkscape), wmf
/emf
(Windows Metafile,因此仅适用于Windows,但非常适合将图像包含在MS Office中)。当然,您也可以使用print
文档中提到的任何其他格式。
有时候,让你的图像格式正确(尤其是PDF输出)是件很痛苦的事。只要看看你的图形的不同属性,更具体地说,PaperSize
, PaperUnits
和PaperPosition
。
最简单的方法,我想最好的解决方案,是保存为.fig
文件。可以使用saveas
:
h = figure;
% your plot commands here
saveas(h,'mFile.fig');
之后,您可以使用openfig
函数重新加载图像:
openfig('mFile.fig');
必须加上这个答案。这个函数很有帮助。
此函数将图形或单个轴保存为一个或多个矢量和/或位图文件格式,和/或输出栅格化版本到工作空间,具有以下属性:-图形/轴再现,因为它出现在屏幕上-裁剪/填充边框(可选)-内嵌字体(只提供pdf格式)改进线条和网格线条样式-抗锯齿图形(位图格式)-以本地分辨率渲染图像(可选的位图格式)-支持透明背景(pdf, eps, png)-支持半透明的补丁对象(仅png)- RGB, CMYK或灰度输出(CMYK仅与pdf, eps, tiff)-可变图像压缩,包括无损(pdf, eps, jpg)-可选择追加到文件(pdf, tiff)-矢量格式:pdf, eps-位图格式:png, tiff, jpg, bmp,导出到工作区