matlab保存已画图像

作者:王备
链接:https://www.zhihu.com/question/23776798/answer/25626834
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

gcf 是 Get Current Figure 的缩写,返回当前图像窗口的引用。当前图像窗口,指的是如果你现在运行 plot 等类似命令时,图像所画在的那个窗口。更多信息,请查询 help gcf.

在你原题里,gcf 可以换成任意一个已知的窗口引用。如果在函数中画了多个图像,最理想的方案是每次画图时保留其引用。例如:

hCircle = figure;
plot(sin(0:0.01:2*pi), cos(0:0.01:2*pi)); axis square

hRect = figure;
plot([-1 0 1 0 -1], [0 1 0 -1 0]); axis square

如果只希望代码默默地运行,不要弹出图像窗口,可在创建窗口时,将其设为隐藏。
hCircle = figure('Visible', 'off');
% plot circle.

等到需要保存图像时,调用 saveas:
saveas(hCircle, 'circle', 'png')
saveas(hRect,   'rect',   'jpg')

如果图像很多,可以使用循环。例如:
pic(1).h    = hCircle;
pic(1).name = 'circle';
pic(1).fmt  = 'png';

pic(2).h    = hRect;
pic(2).name = 'rect';
pic(2).fmt  = 'jpg';

for p = pic
    saveas(p.h, p.name, p.fmt)
end

clear p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值