Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Matlab中,如何像在图形窗口中使用“另存为...”一样,将图形另存为图像?

保存图形时,Matlab使用什么功能?例如,当用户选择“文件”>“另存为...”,然后选择.png或其他图像格式时,幕后发生了什么?

我问是因为我正在尝试自动进行保存,但是当我使用saveas或print ,生成的图像实际上是像素化的。但是,当我使用上述方法保存图形时,图像看起来确实不错。

我应该使用哪种方法从命令行保存图形?图形窗口使用的实际方法是可行的,但是如果你们有更好的解决方案,我建议您使用!



回答:

菜单项“另存为...”的回调调用函数FILEMENUFCN,其中第一个输入参数是菜单所在图形的句柄,第二个输入参数是字符串'FileSaveAs' 。如果将图形句柄存储在变量hFigure ,则以下命令应等效于单击该图形窗口中的“另存为...”菜单项:

>> filemenufcn(hFigure,'FileSaveAs');
一些注意事项...
  • FILEMENUFCN功能仅被部分记录。您可以在命令窗口中执行help filemenufcn ,但在线文档中没有相应的条目。在MATLAB 2009a中,可以在以下文件夹中找到该函数:

    C:\Program Files\MATLAB\R2009a\toolbox\matlab\uitools\filemenufcn.m 通过功能代码来看,似乎它最终要么调用该函数SAVEAS为.FIG文件或功能HGEXPORT其他文件类型(有额外的输入参数)。
  • 通过搜索图形窗口及其菜单的子项,我能够找到“另存为...”菜单项的回调。您可以通过将根属性'ShowHiddenHandles'为'on' ,然后使用GET命令遍历图形窗口及其菜单的'Children'属性来自己完成此操作。另一种方法是使用FINDALL命令,假设您知道要查找的对象的某些属性。例如,这将找到当前图形窗口的“文件”菜单的句柄:

    >> hFileMenu = findall(gcf,'Label','&File'); 这将找到“另存为...”菜单项的句柄并显示其回调:

    >> hSaveAs = findall(hFileMenu,'Label','Save &As...'); >> get(hSaveAs,'Callback') ans = filemenufcn(gcbf,'FileSaveAs')

更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:21


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.