保存图形时,Matlab使用什么函数?例如,当用户选择文件>另存为...,然后选择.png或其他图像格式时,幕后会发生什么?在matlab中,如何将图形保存为图像,就像在图形窗口中使用“另存为...”一样?
我在问,因为我试图自动保存,但是当我使用saveas
或print
时,生成的图像实际上是像素化的。但是,使用上述方法保存图形时,图像看起来非常好。
我应该用什么方法从命令行中保存我的图形?数字窗口使用的实际方法是可行的,但如果你们有更好的解决方案,我会认真的!
保存图形时,Matlab使用什么函数?例如,当用户选择文件>另存为...,然后选择.png或其他图像格式时,幕后会发生什么?在matlab中,如何将图形保存为图像,就像在图形窗口中使用“另存为...”一样?
我在问,因为我试图自动保存,但是当我使用saveas
或print
时,生成的图像实际上是像素化的。但是,使用上述方法保存图形时,图像看起来非常好。
我应该用什么方法从命令行中保存我的图形?数字窗口使用的实际方法是可行的,但如果你们有更好的解决方案,我会认真的!
“Save As ...”菜单项的回调调用功能FILEMENUFCN,第一个输入参数是菜单图形的句柄在第二个输入参数是字符串'FileSaveAs'
。如果您有存储在变量hFigure
图手柄,那么下面的命令应该是相当于点击该图窗口中的“另存为...”菜单项:
>> filemenufcn(hFigure,'FileSaveAs');
的几个注意事项。 ..
功能FILEMENUFCN仅部分记载。您可以在命令窗口中执行help filemenufcn
,但在线文档中没有条目。在MATLAB 2009a的,该功能可在下列文件夹中找到:
C:\Program Files\MATLAB\R2009a\toolbox\matlab\uitools\filemenufcn.m
通过功能代码来看,似乎它最终要么调用该函数SAVEAS为.FIG文件或功能HGEXPORT(额外的输入参数)用于其他文件类型。
我能够通过搜索数字窗口的子项及其菜单来搜索“另存为...”菜单项的回调。您可以通过将root property 'ShowHiddenHandles'
设置为'on'
,然后使用GET命令遍历图形窗口及其菜单的'Children'
properties来完成此操作。另一种方法是使用FINDALL命令,假设您知道要查找的对象的一些属性。例如,这将找到手感的“文件”菜单,目前的数字窗口:
>> hFileMenu = findall(gcf,'Label','&File');
,这将找到手感的“另存为...“菜单项,并显示其回调:
>> hSaveAs = findall(hFileMenu,'Label','Save &As...');
>> get(hSaveAs,'Callback')
ans =
filemenufcn(gcbf,'FileSaveAs')
我不知道你,但对我来说,保存的图像看起来不错。
代码例如:
... create some figure ...
saveas(gcf, 'some_figure.png');
设置用户指定的分辨率使用:
print(gcf,'some_figure','-dpng','-rSOMENUMBER')
其中SOMENUMBERis用于分辨率的参数。 最终分辨率为(SOMENUMBER * 8)x(SOMENUMBER * 6)
谢谢你,你让我在正确的轨道上我结束了使用此: http://www.mathworks.com/matlabcentral/newsreader/view_thread/239960 Setting settings.Format ='png' 保存它没有很多pixelation。 – tylerthemiler 2010-09-21 18:56:36
@tylerthemiler:是的,看起来功能[HGEXPORT](http://www.mathworks.com/help/techdocs) /ref/hgexport.html)在保存PNG图像时最终被调用(带有新闻组线程中显示的一些额外输入参数) – gnovice 2010-09-21 19:14:20
Thanks!QOTSA btw。 – tylerthemiler 2010-09-21 20:50:15