matlab gui保存axes图像,matlab GUI保存axes(坐标轴)上的图像

1.默认方式

matlab GUI默认菜单的保存图像默认为保持全部GUI,包括使用" 菜单->编辑->复制图形"。

2 保存可见区域

2.1 代码

[FileName,PathName] = uiputfile({'*.jpg','JPEG(*.jpg)';...

'*.bmp','Bitmap(*.bmp)';...

'*.gif','GIF(*.gif)';...

'*.*', 'All Files (*.*)'},...

'Save Picture','Untitled');

if FileName==0

disp('保存失败');

return;

else

h=getframe(picture);%picture是GUI界面绘图的坐标系句柄

imwrite(h.cdata,[PathName,FileName]);

end

2.2 说明

函数getframe()是为了获取坐标轴中的一帧图像,其返回的对象中有cdata和colormap两个成员。

2.3 效果

84206924fb0e1b3caad716446bab11bb.png

3 保存带坐标轴的区域

3.1代码

new_f_handle=figure('visible','off');

new_axes=copyobj(picture,new_f_handle); %picture是GUI界面绘图的坐标系句柄

set(new_axes,'units','default','position','default');

[filename,pathname,fileindex]=uiputfile({'*.jpg';'*.bmp'},'save picture as');

if ~filename

return

else

file=strcat(pathname,filename);

switch fileindex %根据不同的选择保存为不同的类型

case 1

print(new_f_handle,'-djpeg',file);

case 2

print(new_f_handle,'-dbmp',file);

end

end

delete(new_f_handle);

3.2 说明

实际上是新建一个新的坐标图形,将GUI复制到新的图像上,输出新的图像,最后删除新建的图形句柄。

3.3 效果

0ee4b2e8af6bbe39fcdaab3582a911b7.png

参考文献

Chris_Lee的博客 写作匆忙,参考的部分网页资料未能找到,请各位致力于分享的同仁见谅。

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值