MATLAB进行GUI程序设计时,一个figure中通常包含多个axes控件。
保存矢量图的常用指令saveas和print只能以figure为单位保存图片,而不能将figure中的某一个axes单独保存。
而getframe+imwrite的方法虽然可以保存axes,但只能保存为位图,不能保存为矢量图,必定造成图像细节信息丢失。
下面给出一种解决方案。
创建一个新的、不可见的figure和axes,将要保存的axes内容复制至新的axes中,并保存新的figure。
由于新的figure中只有1个axes,所以相当于至保存了一个axes。
h=get(handles.axes1,‘children‘); figure(‘visible‘,‘off‘); axes; copyobj(h,gca); saveas(gcf,filename,‘emf‘);
时间: 2024-10-12 11:15:38